Data circulation method, apparatus and system
By introducing storage devices in the data flow process and managing data based on policies, the problem of safe circulation between any two data entities is solved, and data security and circulation performance are improved.
Patent Information
- Application Number
- PCT/CN2024/116660
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-14
- Filing Date
- 2024-09-03
- Publication Date
- 2025-03-20
AI Technical Summary
How to design a connector to ensure the safe circulation of data between any two data entities and avoid data abuse and data leakage during the flow.
By introducing the first storage device and the second storage device in the data flow process, data is generated and processed respectively, and data is securely managed and controlled based on the flow policy and the use policy. The first storage device transmits data when it determines that the data complies with the flow policy, and instructs the use of the data by the second storage device to realize the control of the behavior of the data user.
Ensure the security of data during the flow process, avoid data abuse and leakage, realize data sovereignty of data owners, and improve the circulation performance of data in multiple applications.
Smart Images

Figure CN2024116660_20032025_PF_FP_ABST
Abstract
Description
Data circulation method, device and system
[0001] This application claims priority to the Chinese patent application with application number 202311190481.2 filed with the State Intellectual Property Office of China on September 14, 2023, and priority to the Chinese patent application with the invention name “A data circulation method, device and system”, all contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of computer technology, and in particular to a data circulation method, device and system. Background Art
[0003] The International Data Spaces Association (IDSA) is the most influential international organization in the global data circulation sector, dedicated to establishing an open, secure, and trustworthy data space. To address data security issues in circulation and effectively limit its use, IDSA has proposed a connector-based data circulation control system. IDSA states that any data entity connected to a connector can access the data of another data entity through communication between multiple connectors. This creates a blueprint for secure data circulation, ensuring data flow while safeguarding data owners' data sovereignty.
[0004] However, how to design a connector to ensure the secure flow of data between any two data entities and minimize the occurrence of problems such as data abuse and data leakage during the flow process is an urgent problem that needs to be solved.
[0005] Summary of the Invention
[0006] In order to solve the above technical problems, the present application provides a data circulation method, device and system to ensure the safe circulation of data between any two data entities and avoid the occurrence of problems such as data abuse and data leakage during the circulation process.
[0007] In a first aspect, a data circulation method is provided, comprising: a first storage device obtains source data from a storage device, generates first data based on the source data, then obtains a first circulation policy and a first usage policy of the first data, and sends the first data and the first usage policy to a second storage device when it is determined that the first data complies with the first circulation policy. After the second storage device receives the first data and the first usage policy of the first data sent by the first storage device, it sends the first data and the first usage policy to a second computing device while executing the first usage policy on the first data to control the use of the first data by applications on the second computing device. The first usage policy is a policy instructing the second storage device to use the first data, the storage device belongs to a first user, the second storage device and the second computing device belong to a second connection system, the second storage device and the second computing device are used to process the first data according to the instructions of the device requesting the first data, that is, the second connection system is used to process the first data according to the instructions of the device requesting the first data, the device requesting the first data belongs to a second user, and the storage device and the device requesting the first data are different devices.
[0008] The above solution has the following advantages:
[0009] First, the process of the first data flowing from the data owner to the data user includes various stages of data circulation, such as creating the first data, determining the first usage policy, and transmitting the first data. The first storage device will only send the first data when it determines that the first data complies with the first circulation policy, and instruct the second storage device on the use of the first data through the first usage policy. Therefore, the behavior of the data user can be managed and controlled, thereby ensuring the security of the first data during the circulation process, and avoiding the occurrence of problems such as data abuse and data leakage.
[0010] Secondly, compared to directly sending the first data to the device that requires the first data, which makes it impossible to control the use of the first data on the device that requires the first data, this technical solution uses a second storage device that can execute the first usage policy to process the first data according to the instructions of the device that requires the first data, so that the second computing device's access, acquisition, and use of the first data are always subject to the constraints of the first usage policy. Therefore, it is also possible to safely control the use behavior of data users and ensure the security of the first data during circulation. Therefore, the above solution is a practical solution to implement the connector-based data circulation control system proposed by IDSA.
[0011] Third, secure transmission of the first data can be achieved across two storage devices. This allows applications on the second computing device to directly access the first data within the second storage device within the same connected system when they need to use the first data, without having to change the application's existing usage of the first data on the second computing device. This facilitates direct deployment of applications by data users without requiring significant adjustments to the applications in order to use the first data, thereby improving the flow of the first data across multiple applications.
[0012] In some possible implementations, before the first storage device sends the first data and the first usage policy to the second storage device when it is determined that the first data complies with the first circulation policy, the method further includes: the first storage device receives a first usage request for requesting the first data, and sends the first data and the first usage policy to the second storage device when it is determined that the first usage request and the first data comply with the first circulation policy.
[0013] In the above scheme, the first circulation strategy is used to verify the rationality of the first usage request of the data user, and the first circulation strategy is used to check the compliance of the first data, which can control the circulation process of the first data and thus ensure the security of the first data during the circulation process.
[0014] In some possible implementations, the above method also includes: the above-mentioned first storage device receives the second data and the second usage policy of the second data sent by the third storage device, and sends the second data and the second usage policy to the first computing device to control the use of the second data by the application on the first computing device when executing the second usage policy on the second data.
[0015] In the above solution, the first storage device also supports controlling the first computing device's access, acquisition, and use of the second data while executing the second usage policy, thereby also being able to securely manage the behavior of data users and ensure the security of the second data during circulation.
[0016] In some possible implementations, the above-mentioned first flow strategy includes one or more of the user objects and access contents of the first data, and the first flow strategy is generated based on the flow requirements or the asset information of the first data, wherein the flow requirements are determined by negotiation between the first storage device and the second storage device, and the asset information is generated by the first storage device, and the asset information includes one or more of the type, size, format, purpose, and available time of the first data.
[0017] In some possible implementations, the first usage policy includes one or more of a usage time, a usage scope, and a usage method of the first data.
[0018] In the second aspect, a data circulation method is provided, including: a first computing device obtains source data from a storage device, generates first data based on the source data, and then obtains a first circulation strategy and a first usage strategy for the first data. When it is determined that the first data complies with the first circulation strategy, the first data and the first usage strategy are sent to a second computing device. After the second computing device receives the first data and the first usage strategy sent by the first computing device, it uses the first data while executing the first usage strategy. The first usage strategy is a strategy that instructs the second computing device to use the first data. The first computing device is used to process the first data according to the instructions of the storage device, and the storage device belongs to the first user. The second computing device is used to process the first data according to the instructions of the device that requires the first data, and the device that requires the first data belongs to the second user. The storage device and the device that requires the first data are different devices.
[0019] The above solution has the following advantages:
[0020] First, the process of the first data flowing from the data owner to the data user includes various stages of data circulation, such as creating the first data, transmitting the first data, and using the first data. The first computing device will only send the first data when it determines that the first data complies with the first circulation strategy, and the second computing device can only use the first data when it executes the first usage strategy. Therefore, the behavior of the data user can be managed and controlled, thereby ensuring the security of the first data during the circulation process, and avoiding the occurrence of problems such as data abuse and data leakage.
[0021] Secondly, compared to directly sending the first data to the device that requests the first data, which makes it impossible to control the use of the first data on the device that requests the first data, this technical solution uses a second computing device that can execute the first usage policy to process the first data according to the instructions of the device that requests the first data, so that the access, acquisition, and use of the first data are always carried out under the constraints of the first usage policy. Therefore, it is also possible to safely control the use behavior of data users and ensure the security of the first data during circulation. Therefore, the above solution is a practical solution to implement the connector-based data circulation control system proposed by IDSA.
[0022] In some possible implementations, before the first computing device sends the first data and the first usage policy to the second computing device when it is determined that the first data complies with the first circulation policy, the method further includes: the first computing device receives a first usage request sent by the second computing device to request the first data, and sends the first data and the first usage policy to the second computing device when it is determined that the first usage request and the first data comply with the first circulation policy.
[0023] In the above scheme, the first circulation strategy is used to verify the rationality of the first usage request of the data user, and the first circulation strategy is used to check the compliance of the first data, which can control the circulation process of the first data and thus ensure the security of the first data during the circulation process.
[0024] In some possible implementations, the above method also includes: the above-mentioned first computing device receives a first usage record of the first data by the second computing device, and determines whether the use of the first data by the second computing device complies with the first usage policy based on the first usage record, wherein the first usage record is a record of the second computing device using the first data.
[0025] In the above solution, by monitoring the usage behavior of the first data through the first usage record, the behavior of the data user can be controlled, thereby ensuring the security of the first data during circulation.
[0026] In some possible implementations, the second computing device executes a first usage policy on the first data in a second secure computing environment, generates a first usage record, and uploads the first usage record to the first computing device, thereby controlling the use of the first data by applications on the second computing device. The first usage record is a record of the second computing device using the first data. The second secure computing environment is a secure, isolated environment used to protect the security of the second computing device, the security of the execution process of the first usage policy, and the security of the use process of the first data. This is achieved by closing the data input and output interfaces of the application on the second computing device when the application uses the first data, or by deploying a trusted execution environment in the second computing device, or by deploying a virtual machine or container in the second computing device.
[0027] In the above solution, the second computing device executes the first usage policy on the first data in the second secure computing environment. This ensures that the first data is always used in the second secure computing environment, preventing leakage of the first data, and ensures that the execution of the first usage policy is not interfered with. Furthermore, generating the first usage record in the second secure computing environment ensures that the first usage record cannot be tampered with, ensuring the security and reliability of the first usage record.
[0028] In some possible implementations, the method further includes: the first computing device receiving the second data and the second usage policy for the second data sent by the third computing device, and executing the second usage policy on the second data to control usage of the second data by applications on the first computing device. The first computing device is configured to process the second data according to instructions from a device requesting the second data, and the device requesting the second data and the storage device are different devices, or the device requesting the second data and the storage device are the same device.
[0029] In the above solution, the first computing device also supports executing a second usage policy on the second data to control the use of the second data by applications on the first computing device, thereby enabling security management of the behavior of data users and ensuring the security of the second data during circulation.
[0030] In some possible implementations, the first computing device executes a second usage policy on the second data in a first secure computing environment, generates a second usage record, and uploads the second usage record to a third computing device, thereby controlling the use of the second data by an application on the first computing device. The second usage record is a record of the first computing device using the second data. The first secure computing environment is a secure, isolated environment used to protect the security of the first computing device, the security of the execution process of the second usage policy, and the security of the use process of the second data. This is achieved by closing the data input interface and data output interface of the application on the first computing device when the application uses the second data, or by deploying a trusted execution environment in the first computing device, or by deploying a virtual machine or container in the first computing device.
[0031] In the above solution, the first computing device executes the second usage policy on the second data within the first secure computing environment. This ensures that the second data is always used within the first secure computing environment, preventing leakage of the second data, and ensures that the execution of the second usage policy is not interfered with. Furthermore, generating the second usage record within the first secure computing environment ensures that the second usage record cannot be tampered with, ensuring its security and reliability.
[0032] In some possible implementations, the above-mentioned first flow strategy includes one or more of the user objects and access contents of the first data, and the first flow strategy is generated based on the flow requirements or the asset information of the first data, wherein the flow requirements are determined by negotiation between the first storage device and the second storage device, and the asset information is generated by the first storage device, and the asset information includes one or more of the type, size, format, purpose, and available time of the first data.
[0033] In some possible implementations, the first usage policy includes one or more of a usage time, a usage scope, and a usage method of the first data.
[0034] According to a third aspect, a data circulation device is provided for use as a first storage device, comprising: a first management module, a first control module and a first docking module, wherein the first management module is used to obtain source data from the storage device and generate first data based on the source data; the first control module is used to obtain a first circulation strategy and a first usage strategy for the first data; the first docking module is used to send the first data and the first usage strategy to a second storage device when it is determined that the first data complies with the first circulation strategy, wherein the first usage strategy is a strategy instructing the second storage device to use the first data, the storage device belongs to a first user, and the second storage device is used to process the first data according to the instructions of a device demanding the first data, the device demanding the first data belongs to a second user, and the storage device and the device demanding the first data are different devices.
[0035] In some possible implementations, the first docking module is specifically used to receive a first usage request for requesting first data, and when it is determined that the first usage request and the first data comply with the first flow policy, send the first data and the first usage policy to the second storage device.
[0036] In some possible implementations, the first docking module is further configured to receive second data and a second usage policy for the second data sent by a third storage device;
[0037] The first control module is further configured to, when executing the second usage policy on the second data, send the second data and the second usage policy to the first computing device to control the first computing device's use of the second data.
[0038] In some possible implementations, the first circulation strategy includes one or more of the user objects and access contents of the first data, and the first circulation strategy is generated based on the circulation requirements or the asset information of the first data, wherein the circulation requirements are determined by negotiation between the first storage device and the second storage device, and the asset information is generated by the first management module, and the asset information includes one or more of the type, size, format, purpose, and available time of the first data.
[0039] In some possible implementations, the first usage policy includes one or more of a usage time, a usage scope, and a usage method of the first data.
[0040] In a fourth aspect, a data circulation device is provided, which is used as a first computing device, including: a second management module, a second control module and a second docking module, the second management module is used to obtain source data from a storage device and generate first data based on the source data; the second control module is used to obtain a first circulation strategy and a first usage strategy for the first data; the second docking module is used to send the first data and the first usage strategy to the second computing device when it is determined that the first data complies with the first circulation strategy, wherein the first usage strategy is a strategy instructing the second computing device to use the first data, the first computing device is used to process the first data according to the instruction of the storage device, the storage device belongs to the first user, the second computing device is used to process the first data according to the instruction of the first data demand device, the first data demand device belongs to the second user, and the storage device and the first data demand device are different devices.
[0041] In some possible implementations, the above-mentioned second docking module is specifically used to receive a first usage request sent by a second computing device to request first data, and to send the first data and the first usage policy to the second computing device when it is determined that the first usage request and the first data comply with the first flow policy.
[0042] In some possible implementations, the first computing device is further used to receive a first usage record of the first data by the second computing device, and determine whether the use of the first data by the second computing device complies with a first usage policy based on the first usage record, wherein the first usage record is a record of the use of the first data by the second computing device.
[0043] In some possible implementations, the second docking module is further configured to receive the second data and the second usage policy for the second data sent by the third computing device, and to execute the second usage policy on the second data to control the first computing device's use of the second data. The first computing device is configured to process the second data according to instructions from a device requesting the second data, and the device requesting the second data and the storage device are different devices, or the device requesting the second data and the storage device are the same device.
[0044] In some possible implementations, the first computing device has a first secure computing environment, and the second control module is specifically used to execute a second usage policy on the second data in the first secure computing environment, generate a second usage record, and upload the second usage record to a third computing device, thereby controlling the use of the second data by the first computing device. The second usage record is a record of the first computing device using the second data. The first secure computing environment is a secure isolation environment used to protect the security of the first computing device, the security of the execution process of the second usage policy, and the security of the use process of the second data. It is achieved by closing the data input interface and the data output interface when the first computing device uses the second data, or by deploying a trusted execution environment in the first computing device, or by deploying a virtual machine or container in the first computing device.
[0045] In some possible implementations, the above-mentioned first flow strategy includes one or more of the user objects and access contents of the first data, and the first flow strategy is generated based on the flow requirements or the asset information of the first data, wherein the flow requirements are determined by negotiation between the first computing device and the second computing device, and the asset information is generated by the first computing device, and the asset information includes one or more of the type, size, format, purpose, and available time of the first data.
[0046] In some possible implementations, the first usage policy includes one or more of a usage time, a usage scope, and a usage method of the first data.
[0047] In a fifth aspect, a data circulation device is provided, configured to function as a second storage device, comprising: a third docking module and a third control module, the third docking module configured to receive first data and a first usage policy for the first data from the first storage device; and the third control module configured to, when executing the first usage policy on the first data, transmit the first data and the first usage policy to a second computing device to control the second computing device's use of the first data. The second storage device and the second computing device form a second connection system, and the second connection system is configured to process the first data according to instructions from a device requesting the first data.
[0048] In some possible implementations, the first usage policy includes one or more of a usage time, a usage scope, and a usage method of the first data.
[0049] In a sixth aspect, a data circulation device is provided, configured to serve as a second computing device, comprising: a fourth docking module and a fourth control module, wherein the fourth docking module is configured to receive first data and a first usage policy for the first data sent by the first computing device; and the fourth control module is configured to use the first data while executing the first usage policy. The second computing device is configured to process the first data according to instructions from a first data requesting device, and the first computing device is configured to process the first data according to instructions from a storage device. The first data is generated based on source data in the storage device. The storage device belongs to a first user, and the requesting device belongs to a second user. The storage device and the requesting device are different devices.
[0050] In some possible implementations, the second computing device has a second secure computing environment, and the fourth control module is specifically used to execute the first usage policy on the first data in the second secure computing environment, generate a first usage record, and upload the first usage record to the first computing device, thereby controlling the use of the first data by the application on the second computing device. The first usage record is a record of the second computing device using the first data. The second secure computing environment is a secure isolation environment used to protect the security of the second computing device, the security of the execution process of the first usage policy, and the security of the use process of the first data. It is achieved by closing the data input interface and the data output interface when the second computing device uses the first data, or by deploying a trusted execution environment in the second computing device, or by deploying a virtual machine or container in the second computing device.
[0051] In some possible implementations, the first usage policy includes one or more of a usage time, a usage scope, and a usage method of the first data.
[0052] In a seventh aspect, a data circulation system is provided, comprising a first storage device as described in any one of the third aspects, and / or a second storage device as described in any one of the fifth aspects.
[0053] In an eighth aspect, a data circulation system is provided, comprising a first computing device as described in any one of the fourth aspects, and / or a second computing device as described in any one of the sixth aspects.
[0054] In a ninth aspect, a computing device cluster is provided, comprising at least one computing device, each computing device comprising a processor and a memory;
[0055] The processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method as described in any one of the second aspects.
[0056] In a tenth aspect, a storage device cluster is provided, comprising at least one storage device, each storage device comprising a processor and a memory;
[0057] The processor of the at least one storage device is configured to execute instructions stored in the memory of the at least one storage device, so that the storage device cluster executes any one of the methods of the first aspect.
[0058] In an eleventh aspect, a computer program product comprising instructions is provided. When the instructions are executed by a computing device cluster, the computing device cluster executes the method of any one of the first aspect or any one of the second aspect.
[0059] In a twelfth aspect, a computer-readable storage medium is provided, comprising computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method of any one of the first aspect or any one of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0060] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the background technology, the drawings required for use in the embodiments of the present application or the background technology will be described below.
[0061] FIG1 is a schematic diagram of a data circulation scenario involved in this application;
[0062] FIG2 is a schematic structural diagram of a connection system provided by the present application;
[0063] FIG3 is a schematic structural diagram of a storage device provided by the present application;
[0064] FIG4 is a schematic diagram of the structure of a computing device provided by the present application;
[0065] FIG5 is a schematic diagram of the structure of a database system provided by the present application;
[0066] FIG6 is a flow chart of a data circulation method provided by the present application;
[0067] FIG7 is a flow chart of another data circulation method provided by the present application;
[0068] FIG8 is a schematic structural diagram of a data circulation system provided by the present application;
[0069] FIG9 is a schematic structural diagram of another data circulation system provided by the present application;
[0070] FIG10 is a schematic diagram of the structure of a computing device cluster provided by the present application;
[0071] FIG11 is a schematic diagram of the structure of another computing device cluster provided by the present application;
[0072] FIG12 is a schematic diagram of the structure of a storage device cluster provided by the present application;
[0073] FIG13 is a schematic diagram of the structure of another storage device cluster provided by the present application. DETAILED DESCRIPTION
[0074] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application.
[0075] In order to facilitate understanding of the embodiments of the present application, the application scenarios involved in the present application are first introduced.
[0076] Referring to Figure 1, which is a schematic diagram of a data circulation scenario involved in this application, as shown in Figure 1, the data circulation scenario involved in this application includes multiple data entities, such as an industrial data cloud 12, an enterprise cloud 13, a data marketplace 14, an Internet of Things cloud 15, an open data source 16, enterprise devices (enterprise device 171, enterprise device 172, enterprise device 173, etc.), and personal devices (personal device 181, personal device 182, personal device 183, etc.), etc.
[0077] Data needs to flow between these data entities to realize the value of the data. However, IDSA proposes that while ensuring data flow, the data owner's data sovereignty also needs to be maintained. Therefore, a connection system must be established between data entities, allowing any data entity to access the data of another data entity through communication between multiple connection systems after connecting to a connection system. However, how to design a connection system to ensure the secure flow of data between any two data entities and minimize the occurrence of data abuse, data leakage and other problems during the flow process is a problem that needs to be solved urgently.
[0078] In order to solve the above problems, the present application provides a data circulation method, device and system, which can realize data circulation between the above multiple data entities.
[0079] 2 is a schematic diagram of a connection system provided by the present application. The connection system 20 provided by the present application includes: one or more storage devices 21, one or more computing devices 22, and one or more database systems 23.
[0080] In some possible implementations, storage device 21 is used to store unstructured and semi-structured data, including operational data of computing device 22. Storage device 21 may be a server, network attached storage (NAS), or cloud storage gateway (CSG). Unstructured data includes documents, text, images, reports, graphics, audio, and video. Semi-structured data includes log files, XML documents, JSON documents, emails, and HTML documents.
[0081] In some possible implementations, computing device 22 is used to provide computing services or application services. One or more applications, such as application software, algorithms, or functional functions, can be deployed on computing device 22. Computing device 22 can be a supercomputer, a network computer (such as a server, workstation, hub, switch, router), an industrial control computer (such as a PC bus industrial computer, a programmable logic control system, a distributed control system, a fieldbus system, a numerical control system), a personal computer (such as a desktop computer, an all-in-one computer, a laptop computer, a handheld computer, a tablet computer), an embedded processor (such as an embedded microcontroller, an embedded microprocessor, an embedded digital signal processor, an embedded system-on-chip), etc.
[0082] In some possible implementations, the database system 23 is used to store structured data. The database system 23 may include one or more memories. Alternatively, the database system 23 may include one or more calculators. The structured data includes tables.
[0083] In some possible implementations, within the connection system 20, the computing device 22 can access unstructured data or semi-structured data in the storage device 21, or structured data in the database system 23, based on data requests generated by applications. Furthermore, the computing device 22 can process the unstructured data or semi-structured data obtained from the storage device 21 to obtain structured data, and then store the structured data in the database system 23. Alternatively, the computing device 22 can process the structured data obtained from the database system 23 to obtain unstructured data or semi-structured data, and then store the unstructured data or semi-structured data in the storage device 21.
[0084] In a specific implementation, when the storage device 21 is used to store ciphertext of unstructured data and ciphertext of semi-structured data, and the database system 23 is used to store ciphertext of structured data, the computing device 22 obtains the ciphertext of the unstructured data or the ciphertext of the semi-structured data from the storage device 21, decrypts the ciphertext of the unstructured data or the ciphertext of the semi-structured data using a decryption algorithm, processes the decrypted unstructured data or the semi-structured data to obtain structured data, encrypts the structured data using an encryption algorithm to obtain ciphertext of the structured data, and stores the ciphertext of the structured data in the database system 23. Alternatively, the computing device 22 obtains the ciphertext of the structured data from the database system 23, decrypts the ciphertext of the structured data using a decryption algorithm, processes the decrypted structured data to obtain unstructured data or semi-structured data, encrypts the unstructured data or the semi-structured data using an encryption algorithm to obtain ciphertext of the unstructured data or the ciphertext of the semi-structured data, and stores the ciphertext of the unstructured data or the ciphertext of the semi-structured data in the storage device 21. The ciphertext is a string obtained by encrypting data using an encryption algorithm.
[0085] It should be understood that the sources of the ciphertext of the unstructured data, the ciphertext of the semi-structured data, and the ciphertext of the structured data are merely examples. The ciphertext of the unstructured data and the ciphertext of the semi-structured data may also be obtained by the storage device 21 using an encryption algorithm to encrypt the unstructured data and the semi-structured data, respectively. The ciphertext of the structured data may also be obtained by the database system 23 using an encryption algorithm to encrypt the structured data. Alternatively, the ciphertext of the unstructured data, the ciphertext of the semi-structured data, and the ciphertext of the structured data may all be obtained by the computing device 22 using an encryption algorithm to encrypt the unstructured data, the semi-structured data, and the structured data, respectively. This is not a specific limitation here.
[0086] In some possible implementations, storage device 21 and database system 23 may also be used to store anonymous data. The anonymous data in storage device 21 is obtained by desensitizing unstructured or semi-structured data. The anonymous data in database system 23 is obtained by desensitizing structured data.
[0087] In some possible implementations, since different applications in the computing device 22 have different requirements for data types, the database system 23 can directly obtain unstructured data or semi-structured data from the storage device 21, process the unstructured data or semi-structured data to obtain structured data, and then provide the structured data to the application in the computing device 22.
[0088] In some possible implementations, storage device 21, computing device 22, and database system 23 can be the same device, and therefore, connection system 20 can be a single device. Taking a server as an example, storage device 21 can be server A, computing device 22 can also be server A, and database system 23 can also be server A. That is, server A, as connection system 20, can implement the functions of storage device 21, computing device 22, and database system 23.
[0089] In some possible implementations, the connection system 20 connects to a data entity to process data on behalf of a data storage device or a data requesting device. The data storage device or data requesting device may be a storage device, a computing device, or a database system. The connection system 20 connects to a data entity in at least three implementations:
[0090] In one specific implementation, a data entity is deployed on a computing device 22 of a connection system 20, thereby establishing a connection between the connection system 20 and the data entity, allowing the connection system 20 to process data on behalf of a data storage device or a data demand device. For example, an industrial data cloud 12, an enterprise cloud 13, a data trading platform 14, an IoT cloud 15, or an open data source 16 is deployed on the computing device 22, so that the computing device 22 of the connection system 20 stores data or data description information, and the storage device 21 of the connection system 20 can also directly obtain data or data description information from the computing device 22. The data can be unstructured data, semi-structured data, or structured data. The data description information may include the data type, size, format, etc.
[0091] In another specific implementation, if the data entity acts as a data storage device external to the connection system 20, the data storage device imports data into the storage device 21 of the connection system 20, or the computing device 22 of the connection system 20 accesses data from the data storage device and stores the acquired data in the storage device 21, thereby establishing a connection between the data entity and the connection system 20, allowing the connection system 20 to process the data on behalf of the data storage device. For example, if enterprise device 171, enterprise device 172, or enterprise device 173 acts as a data storage device external to the connection system 20, computing device 22 can access data from enterprise device 171, enterprise device 172, or enterprise device 173 and store the acquired data from enterprise device 171, enterprise device 172, or enterprise device 173 in the storage device 21, allowing the connection system 20 to process the data on behalf of enterprise device 171, enterprise device 172, or enterprise device 173.
[0092] In another specific implementation, a data entity acts as a data-demanding device external to the connection system 20. The data user deploys the data-using application on the data-demanding device on the computing device 22 of the connection system 20, and the application on the computing device 22 uses the data. This ensures that data is always provided only to the application on the computing device 22, and not to applications external to the connection system 20. If the application generates new data (such as intermediate results, calculation results, etc.) during the process of using the data, the computing device 22 imports the new data into the data-demanding device. In summary, the connection between the data entity and the connection system 20 can be achieved, allowing the connection system 20 to process data on behalf of the data-demanding device. For example, personal device 181, personal device 182, and personal device 183, as data-demand devices outside the connection system 20, can deploy applications on personal device 181, personal device 182, or personal device 183 on computing device 22, and have the applications on computing device 22 use the data, and then import new data such as intermediate results and calculation results generated by the applications into personal device 181, personal device 182, or personal device 183, so that the connection system 20 can complete data processing on behalf of personal device 181, personal device 182, or personal device 183.
[0093] The specific structures of the above-mentioned storage device 21, computing device 22 and database system 23 will be described in detail below.
[0094] 3 , which is a schematic diagram of the structure of a storage device provided by the present application, as shown in FIG3 , the storage device 21 includes a management module 211 , a docking module 212 , and a control module 213 .
[0095] In some possible implementations, management module 211 is used to store and manage data 2111, data description information 2112, and data asset information 2113. Data 2111 includes unstructured data and semi-structured data, as well as operational data of computing device 22. Data description information 2112 includes the type, size, format, and other information of data 2111. Data asset information 2113 includes the type, size, format, usage, and availability of data 2111.
[0096] In some possible implementations, the docking module 212 is used to manage all data input into and output from the connected system 20, as well as to perform data transmission with the docking module of another storage device connected to the connected system 20. To implement such data transmission, the docking module 212 needs to maintain a transmission protocol 2121 and usage requirements 2122. The transmission protocol 2121 can be a secure socket layer (SSL) protocol, a transport layer security (TLS) protocol, or the like. The usage requirements 2122 include the usage time, usage scope, and usage method of the data 2111.
[0097] In some possible implementations, the control module 213 is configured to obtain a transfer policy 2131 based on the data asset information 2113 in the management module 211, and to obtain a usage policy 2132 based on the usage requirements 2122 in the docking module 212. The transfer policy 2131 is configured to restrict the transfer of data 2111, while the usage policy 2132 is configured to control the usage of data 2111.
[0098] In some possible implementations, the control module 213 may obtain the transfer strategy 2131 in at least two of the following implementations:
[0099] In a specific implementation, the control module 213 obtains policy resources from the policy management module, and then uses the policy resources to set the circulation policy 2131 based on the asset information 2113 of the data. The policy management module is used to store and manage policy resources. The policy management module can be deployed on the storage device 21, or it can be deployed separately on an independent storage device or computing device. Specifically, after the control module 213 receives the asset information 2113 of the data sent by the management module 211, it generates a first policy resource request and sends the first policy resource request to the policy management module, so that the control module 213 can access the policy resources in the policy management module. Subsequently, the control module 213 uses the policy resources to set the specific content of the circulation policy 2131 based on the asset information 2113 of the data.
[0100] In another specific implementation, the control module 213 sends the data asset information 2113 to the policy management module, and obtains a transfer policy 2131 from the policy management module. Specifically, the control module 213 sends the data asset information 2113 obtained from the management module 211 to the policy management module. Based on the data asset information 2113, the policy management module uses policy resources to set the specific content of the transfer policy 2131 and then sends the set transfer policy 2131 to the control module 213.
[0101] The specific content of the above-mentioned circulation strategy 2131 is determined by the data owner and may include access content, available time period, use objects, etc. For example, in the case where the created data includes both confidential data and non-confidential data, it is necessary to prohibit the confidential data from flowing to the outside, that is, only the confidential data is allowed to be stored in the first data entity or the first connection subsystem and is only provided to the data owner for use. Therefore, the access content can be specified as non-confidential data in the circulation strategy, that is, the confidential data is set to not allow external access. Alternatively, for data that is open at a fixed time, the available time period of the data can be set in the data circulation strategy to prevent the data from flowing to the outside during the unavailable period. Alternatively, if the data is only provided for use by specific objects, it is necessary to set the use objects of the data in the data circulation strategy to prevent the data from flowing to objects that do not meet the requirements.
[0102] It should be understood that the specific content of the above-mentioned circulation strategy 2131 is merely an example and is not a specific limitation here.
[0103] In some possible implementations, corresponding to the above-mentioned method in which the control module 213 obtains the transfer strategy 2131, the control module 213 may obtain the usage strategy 2132 in at least the following two implementations:
[0104] In one specific implementation, the control module 213 obtains policy resources from the policy management module and then uses the policy resources to set a usage policy 2132 based on the usage requirement 2122. Specifically, after receiving the usage requirement 2122 sent by the docking module 212, the control module 213 generates a second policy resource request and sends the second policy resource request to the policy management module, allowing the control module 213 to access the policy resources in the policy management module. Subsequently, the control module 213 uses the policy resources to set the specific content of the usage policy 2132 based on the usage requirement 2122.
[0105] In another specific implementation, the control module 213 sends the usage requirement 2122 to the policy management module, which then obtains a usage policy 2132 from the policy management module. Specifically, the control module 213 sends the usage requirement 2122 to the policy management module. The policy management module uses policy resources to set the specific content of the usage policy 2132 based on the usage requirement 2122, and then sends the set usage policy 2132 to the control module 213.
[0106] The specific content of the above-mentioned usage policy 2132 is determined by the data owner and may include usage time, usage scope, usage method, collection of usage records, etc. For example, (1) usage time: access time, available period (such as scheduled opening, expiration deletion); (2) usage scope: IP address of the device using the data; (3) usage method: access method (such as self-destructing reading), number of uses, forwarding permission (such as not allowing forwarding to the outside of the connected system, forwarding to the outside of the connected system cannot be decrypted); (4) collection of usage records: collection method (such as real-time collection, scheduled collection), access permission (such as not allowing modification), among which usage records include usage behavior logs, data management logs, etc.
[0107] It should be understood that the specific content of the above-mentioned usage policy 2132 is merely an example and is not a specific limitation here.
[0108] In some possible implementations, the management module 211 , the docking module 212 , and the control module 213 may be implemented by software in the storage device 21 , or may be implemented by hardware in the storage device 21 .
[0109] 4 , which is a schematic diagram of the structure of a computing device provided by the present application, as shown in FIG4 , the computing device 22 includes a management module 221 , a docking module 222 , and a control module 223 .
[0110] In some possible implementations, the management module 221 is used to store and manage data 2211, data description information 2212, and data asset information 2213. The data 2211 may include unstructured data, semi-structured data, and structured data. The data description information 2212 may include the type, size, format, etc. of the data 2211. The data asset information 2213 may include the type, size, format, usage, and availability of the data 2211.
[0111] In some possible implementations, the docking module 222 is used to manage all data entering and exiting the connected system 20, as well as to perform data transmission with the docking module of another computing device connected to the connected system 20. To implement such data transmission, the docking module 222 needs to maintain a transmission protocol 2221 and usage requirements 2222. The transmission protocol 2221 can be SSL, TLS, etc. The usage requirements 2222 include the usage time, usage scope, and usage method of the data 2211.
[0112] In some possible implementations, the control module 223 is configured to obtain a transfer policy 2231 based on the data asset information 2213 in the management module 221, and to obtain a usage policy 2232 based on the usage requirements 2222 in the docking module 222. The transfer policy 2231 is used to restrict the transfer of data 2211. The usage policy 2232 is used to control the usage of data 2211. The implementation of how the control module 223 obtains the transfer policy 2231 can refer to the implementation of how the control module 213 obtains the transfer policy 2131 in FIG. 3 , and the implementation of how the control module 223 obtains the usage policy 2232 can refer to the implementation of how the control module 213 obtains the usage policy 2132 in FIG. 3 .
[0113] In some possible implementations, the management module 221 , the docking module 222 , and the control module 223 may be implemented by software in the computing device 22 , or may be implemented by hardware in the computing device 22 .
[0114] 5 , which is a schematic diagram of the structure of a database system provided by the present application. As shown in FIG5 , the database system 23 includes a management module 231 , a docking module 232 and a control module 233 .
[0115] In some possible implementations, the management module 231 is used to store and manage data 2311, data description information 2312, and data asset information 2313. The data 2311 may include structured data, and the data description information 2312 may include the type, size, and format of the data 2311. The data asset information 2313 may include the type, size, format, usage, and availability of the data 2311.
[0116] In some possible implementations, the docking module 232 is used to manage all data input into and output from the connection system 20, as well as to perform data transmission with the docking module of another database system in the connection system 20. To implement such data transmission, the docking module 232 needs to maintain a transmission protocol 2321 and usage requirements 2322. The transmission protocol 2221 can be SSL, TLS, etc. The usage requirements 2322 include the usage time, usage scope, and usage method of the data 2311.
[0117] In some possible implementations, the control module 233 is configured to obtain a transfer policy 2331 based on the data asset information 2313 in the management module 231, and to obtain a usage policy 2332 based on the usage requirements 2322 in the docking module 232. The transfer policy 2331 is used to restrict the transfer of data 2311. The usage policy 2332 is used to control the usage of data 2311. The implementation of the control module 233 obtaining the transfer policy 2331 can refer to the implementation of the control module 213 obtaining the transfer policy 2131 in FIG. 3 , and the implementation of the control module 233 obtaining the usage policy 2332 can refer to the implementation of the control module 213 obtaining the usage policy 2132 in FIG. 3 .
[0118] In some possible implementations, the management module 231 , the docking module 232 , and the control module 233 may be implemented by software in the database system 23 , or may be implemented by hardware in the database system 23 .
[0119] In some possible implementations, a connection system 20 (referred to as a first connection system) includes a first storage device, a first computing device, and a first database system. Another connection system 20 (referred to as a second connection system) includes a second storage device, a second computing device, and a second database system. When the first connection system needs to transmit data with the second connection system, the data transmission can be achieved by connecting the first storage device to the second storage device, or by connecting the first computing device to the second computing device. The first storage device has a first management module, a first docking module, and a first control module; the first computing device has a second management module, a second docking module, and a second control module. The second storage device has a third management module, a third docking module, and a third control module; and the second computing device has a fourth management module, a fourth docking module, and a fourth control module. The first storage device and the second storage device may refer to the storage device 21 in FIG3 , the first management module and the third management module may refer to the management module 211 of the storage device 21 in FIG3 , the first docking module and the third docking module may refer to the docking module 212 of the storage device 21 in FIG3 , and the first control module and the third control module may refer to the control module 213 of the storage device 21 in FIG3 . The first computing device and the second computing device may refer to the computing device 22 in FIG4 , the second management module and the fourth management module may refer to the management module 221 of the computing device 22 in FIG4 , the second docking module and the fourth docking module may refer to the docking module 222 of the computing device 22 in FIG4 , and the second control module and the fourth control module may refer to the control module 223 of the computing device 22 in FIG4 .
[0120] Below, a data flow method is described in detail, using a first connection system for processing the first data according to instructions from a storage device of the first data, and a second connection system for processing the first data according to instructions from a device requesting the first data. Data transmission between the first and second storage devices is used as an example of data transmission between the two connection systems. The storage device of the first data belongs to a first user, and the device requesting the first data belongs to a second user. The storage device and the device requesting the first data are different devices.
[0121] See Figure 6, which is a flow chart of a data circulation method provided by the present application. As shown in Figure 6, the data circulation method provided by the present application includes:
[0122] S601: A first storage device establishes a first secure communication channel with a second storage device.
[0123] In some possible implementations, to ensure confidentiality and privacy of data transmitted between the first storage device and the second storage device, a first secure communication channel is established between the first docking module of the first storage device and the third docking module of the second storage device based on a transmission protocol. The transmission protocol may be transmission protocol 2121 in docking module 212 in FIG. 3 .
[0124] In a specific implementation, the first docking module and the third docking module determine the communication key based on the four-way handshake of SSL or TLS, thereby establishing a first secure communication channel, so that the data transmitted between the two modules can be encrypted using the communication key, effectively preventing the first data from being stolen by a third party.
[0125] S602: The first storage device creates first data and asset information of the first data, and obtains a first transfer strategy for the first data.
[0126] In some possible implementations, the first management module of the first storage device obtains source data from the storage device, obtains description information of the first data based on the source data, and then creates the first data and the asset information of the first data based on the description information of the first data. The source data is created by the first user. The description information of the first data includes the type, size, format, etc. of the source data. The asset information of the first data includes the type, size, format, purpose, available time, etc. of the first data. The first storage device can be the storage device 21 in Figure 3, the first management module can be the management module 211 of the storage device 21 in Figure 3, the first data can be the data 2111 in the management module 211 in Figure 3, the description information of the first data can be the description information 2112 of the data in the management module 211 in Figure 3, and the asset information of the first data can be the asset information 2113 of the data in the management module 211 in Figure 3.
[0127] In some possible implementations, the implementation of the first storage device acquiring the first transfer policy may refer to the implementation of the control module 213 acquiring the transfer policy 2131 in FIG. 3 .
[0128] S603: The first storage device publishes asset information of the first data.
[0129] In some possible implementations, the first storage device publishing the asset information of the first data may include at least the following two implementations:
[0130] In a specific implementation, the first docking module of the first storage device publishes the asset information of the first data obtained from the first management module to the outside of the first connection system. The first docking module may be the docking module 212 of the storage device 21 in FIG3 .
[0131] In another specific implementation, the first docking module of the first storage device uploads the asset information of the first data to a data circulation service system, which then publishes the asset information of the first data to the outside of the first connection system. The data circulation service system may be established by an independent third-party organization and is used to provide public services for data circulation, including user and device identity authentication, trusted application provision, data asset information management, data key management, data transaction process management, and audit and traceability.
[0132] S604: The second storage device sends a first usage request to the first storage device based on the asset information of the first data. Correspondingly, the first storage device receives the first usage request sent by the second storage device.
[0133] The second storage device may be the storage device 21 in FIG. 3 .
[0134] In some possible implementations, generating the first usage request may include at least the following two implementations:
[0135] In one specific implementation, after the second storage device receives the asset information of the first data published by the first storage device, a third control module of the second storage device generates a first usage request based on the asset information of the first data and sends the first usage request to the first storage device. The third control module may be control module 213 of storage device 21 in FIG. 3 .
[0136] In another specific implementation, after a data user receives the asset information of the first data published by the first storage device through an application on the second computing device, the data user uses the application to generate a first data request. Alternatively, when using the application on the second computing device, the data user matches the data the application needs to access with the asset information of the first data published by the first storage device, and generates a first data request upon a successful match. Subsequently, the second computing device sends the first data request to the second storage device. The first control module of the second storage device converts the first data request into a first usage request and sends the first usage request to the first storage device. The second computing device may be computing device 22 in Figure 4.
[0137] S605: The first storage device determines whether the first usage request and the first data comply with the first transfer policy.
[0138] In some possible implementations, the first usage request includes the identity information of the data user, the identity information of the second storage device, the identity information of the second computing device, the request content, the requested usage time, the requested usage scope, the requested usage method, etc.
[0139] In some possible implementations, the first storage device determines whether the first use request complies with the first transfer policy, including:
[0140] (1) Verify whether the identity is correct. The first circulation policy specifies the user of the first data. The first control module of the first storage device determines whether the identity information of the data user in the first use request (such as a certificate, a trusted credential), the identity information of the second storage device (such as a device certificate), and the identity information of the second computing device (such as a device certificate) comply with the provisions on the user in the first circulation policy. If they comply with the provisions, it indicates that the data user is trustworthy, the second storage device is trustworthy, and the second computing device is trustworthy; if they do not comply with the provisions, it indicates that the first use request is unreasonable, and the first storage device rejects the first use request. The first control module can be the control module 213 of the storage device 21 in Figure 3.
[0141] (2) Verify whether the request content is reasonable. The first circulation policy stipulates the access content of the first data, and the first control module of the first storage device determines whether the request content in the first use request exceeds the provisions on the access content in the first circulation policy. If it does not exceed the provisions, it indicates that the request content is reasonable; if it exceeds the provisions, it indicates that part of the request content is unreasonable, and the first storage device will inform the data user of the unreasonable part of the request content. For example, the first circulation policy stipulates that the access content of the first data is non-confidential data, and the request content in the first use request includes confidential data and non-confidential data, then the request content exceeds the provisions, and the first storage device will inform the data user that "the first use request to obtain confidential data does not comply with the provisions."
[0142] (3) Verify whether the request is reasonable. The first data usage information is set in the first transfer policy. The first control module of the first storage device determines whether the request requirements in the first use request (such as the requested usage time, requested usage scope, requested usage method, etc.) match the usage information set in the first transfer policy. If they match, it indicates that the request is reasonable; if they do not match, it indicates that part of the request is unreasonable. The first storage device then informs the data user of the unreasonable part of the request.
[0143] It should be understood that the specific content of the above verification of the first usage request is merely an example and is not a specific limitation here.
[0144] It should be understood that the present technical solution can either first execute the above-mentioned step S601, and then execute the operation of the above-mentioned first storage device to determine whether the first usage request complies with the first circulation policy; or first execute the operation of the above-mentioned first storage device to determine whether the first usage request complies with the first circulation policy, and then execute the above-mentioned step S601 after the first storage device determines that the first usage request complies with the first circulation policy.
[0145] In some possible implementations, the first storage device determines whether the first data complies with the first transfer policy, including:
[0146] (1) Check the type of the first data. The first circulation policy stipulates the type of data allowed to circulate, and the first control module of the first storage device determines whether the type of the first data exceeds the data type stipulated in the first circulation policy. If it does not exceed the regulations, it means that all the contents of the first data can be transferred to the second storage device; if it exceeds the regulations, it means that some data in the first data cannot be transferred to the second storage device, and the first storage device will inform the data user of the part of the data that cannot be transferred. For example, the first circulation policy stipulates that the type of data allowed to circulate is non-sensitive data, and the first data contains both sensitive data and non-sensitive data, then the type of the first data exceeds the regulations, and the first storage device will inform the data user that "the first data cannot be sent because it contains sensitive data."
[0147] (2) Checking the expected sending time of the first data. The first flow policy specifies the available time period for the first data. The first control module of the first storage device determines whether the expected sending time of the first data exceeds the available time period specified in the first flow policy. If it does not exceed the specified time period, it indicates that the first data can be transmitted to the second storage device at the expected sending time. If it exceeds the specified time period, it indicates that the first data cannot be transmitted to the second storage device at the expected sending time. The first storage device then refuses to send the first data to the second storage device and notifies the data user.
[0148] It should be understood that the specific content of the above-mentioned verification of the first data is merely an example and is not a specific limitation here.
[0149] In summary, the first transfer strategy can verify the first usage request and the first data, thereby controlling the first storage device to send the first data.
[0150] In some possible implementations, in addition to the above-mentioned situation where after receiving the first usage request, the first storage device needs to determine whether the first data complies with the first circulation policy, each time before transferring data to the second storage device, the first storage device needs to determine whether the data complies with the circulation policy of the data to avoid data leakage during the circulation process.
[0151] S606: The first storage device obtains a first usage policy for the first data.
[0152] In some possible implementations, the first usage policy is obtained based on the usage requirements. Specifically, after establishing the first secure communication channel in the above step S601, the first connection system and the second connection system can respectively use the first docking module and the third docking module to negotiate the usage requirements of the first data through the first secure communication channel. Subsequently, the first control module of the first storage device obtains the first usage policy based on the usage requirements. The usage requirements can be the usage requirements 2122 in the docking module 212 in Figure 3. The implementation method for the first control module to obtain the first usage policy can refer to the implementation method for the control module 213 to obtain the usage policy 2132 in Figure 3. For the sake of brevity of the specification, it will not be elaborated here.
[0153] In some possible implementations, the first flow policy may be obtained through the above-mentioned step S602, or may be obtained based on the flow requirements. Specifically, after establishing the first secure communication channel in the above-mentioned step S601, the first connection system and the second connection system may respectively use the first docking module and the third docking module to negotiate the flow requirements of the first data through the first secure communication channel. Subsequently, the first control module of the first storage device obtains the first flow policy based on the flow requirements. The process of the first control module obtaining the first flow policy based on the flow requirements is as follows: after the first control module receives the flow requirements sent by the first docking module, the first flow policy is set based on the flow requirements using the policy resources in the policy management module. Alternatively, after the first control module sends the received flow requirements to the policy management module, the policy management module sets the first flow policy based on the flow requirements using the policy resources, and then sends the set first flow policy to the first control module.
[0154] S607: If the first usage request and the first data comply with the first transfer policy, the first storage device sends the first data and the first usage policy to the second storage device via the first secure communication channel. Correspondingly, the second storage device receives the first data and the first usage policy sent by the first storage device via the first secure communication channel.
[0155] In some possible implementations, the first storage device sending the first data and the first usage policy to the second storage device through the first secure communication channel may include at least the following four implementations:
[0156] In a specific implementation, within a first storage device, a first docking module obtains first data from a first management module and a first usage policy from a first control module, binds the first data and the first usage policy (for example, by placing the first usage policy into the metadata of the first data, placing a link to the first usage policy into the first data so that the first usage policy must be accessed before accessing the first data, etc.), thereby establishing a mutual association between the first data and the first usage policy. The first docking module then sends the bound first data and first usage policy to a third docking module of a second storage device via a first secure communication channel. Specifically, the first docking module of the first storage device can either send the first data first and then the first usage policy; send the first usage policy first and then the first data; or send the first data and the first usage policy together.
[0157] In another specific implementation, inside the first storage device, the first control module obtains the first data from the first management module, binds the first data and the first usage policy, and then sends the bound first data and the first usage policy to the first docking module, which then sends them to the third docking module through the first secure communication channel.
[0158] In another specific implementation, inside the first storage device, the first control module obtains the first data from the first management module, encapsulates the first data and the first usage policy into a new data packet, and then sends the new data packet to the first docking module, which then sends it to the third docking module through the first secure communication channel.
[0159] In another specific implementation, inside the first storage device, the first control module obtains the first data from the first management module, encrypts the first data and the first usage policy, and encapsulates the encrypted first data and the first usage policy into a new data packet, and then sends the new data packet to the first docking module, which sends it to the third docking module through the first secure communication channel.
[0160] It should be understood that the above-mentioned manner of binding or encapsulating the first data and the first usage policy is merely an example and is not a specific limitation herein.
[0161] In some possible implementations, inside the second storage device, the third docking module stores the received first data and the first usage policy in the third management module.
[0162] S608: The second storage device sends the first data and the first usage policy to the second computing device while executing the first usage policy on the first data. Correspondingly, the second computing device receives the first data and the first usage policy sent by the second storage device.
[0163] In some possible implementations, a data user generates a first data request when using an application on a second computing device, corresponding to the first data request generated in step S603. Subsequently, the second computing device sends the first data request to the second storage device. Upon receiving the first data request, the third control module of the second storage device executes the first usage policy obtained from the third management module. This controls the second computing device's access to the first data from the third management module. Specifically, if the first usage policy is encapsulated, the first usage policy is first decapsulated before being executed. For example, if the first usage policy specifies a number of accesses to the first data, the third control module records the number of accesses to the first data by the second computing device. If the number of accesses to the first data by the second computing device exceeds the specified number, the third control module prohibits the second computing device from accessing the data. Alternatively, if the first usage policy specifies a time period for reading the first data, the third control module records the time the second computing device reads the first data. If the second computing device continues to read the first data outside the specified time period, the third control module prohibits the second computing device from reading the data. To sum up, the third control module can control the second computing device's acquisition of the first data by executing the first usage policy on the first data, that is, it can control the second computing device's use of the first data, thereby effectively ensuring the security of the first data during use.
[0164] It should be understood that the recipient of the second storage device's transmission in step S608 is merely an example and is not intended to be a specific limitation. For example, the second storage device may also transmit the first data and the first usage policy to a second database system while executing the first usage policy on the first data. The second database system may be database system 23 in FIG5 .
[0165] S609: The second computing device uses the first data while executing the first usage policy.
[0166] In some possible implementations, the fourth control module of the second computing device executes the first usage policy sent by the second storage device, thereby controlling the usage behavior of the application in the second computing device on the first data, such as the application's access, calculation, copying, forwarding, etc. of the first data, that is, it can control the use of the first data by the second computing device. For example, the first usage policy specifies the available time period of the first data, then the fourth control module records the application's usage time of the first data, and when the application continues to use the first data for calculation outside the specified available time period, the fourth control module deletes the first data in the application. In summary, the fourth control module can control the usage behavior of the application in the second computing device on the first data by executing the first usage policy, thereby effectively ensuring the security of the first data during use. Among them, the above-mentioned fourth control module can be the control module 223 of the computing device 22 in Figure 4.
[0167] In one specific implementation, new data generated during the application's use of the first data must also comply with the specific contents of the first usage policy. That is, any new data generated by the second computing device processing the first data will be bound by the first usage policy. For example, if the first usage policy specifies the IP address of the device that can use the first data, the new data can only be used on the specified device.
[0168] In some possible implementations, the computing devices connected to the system have a secure computing environment, which is a secure, isolated environment used to protect the security of the computing devices. Therefore, if a first computing device has a first secure computing environment and a second computing device has a second secure computing environment, the fourth control module of the second computing device can execute the first usage policy in the second secure computing environment to control the application's access, computation, copying, and forwarding of the first data. This ensures the security of both the execution of the first usage policy and the use of the first data through the second secure computing environment.
[0169] In some possible implementations, the second secure computing environment may include at least the following three implementations:
[0170] In one specific implementation, the fourth control module of the second computing device intercepts and manages the data input interface and data output interface of the application on the second computing device, thereby providing a second secure computing environment. Specifically, if the second computing device has an operating system, while the application is using the first data, the fourth control module notifies the operating system to close the data input interface and data output interface of the second computing device, and the application also closes the external data input interface and data output interface, thereby preventing the first data from flowing outside the application, or even outside the second computing device. Alternatively, the fourth control module changes the application's settings so that the application closes the application's data input interface and data output interface while using the first data, thereby preventing the first data from flowing outside the application.
[0171] In another specific implementation, a trusted execution environment (TEE) is deployed in the second computing device to provide a second secure computing environment. Specifically, the fourth control module and the application on the second computing device are both run in the trusted execution environment, so that the processing of the first data by the fourth control module and the use of the first data by the application are both implemented in a feasible execution environment. Among them, TEE can be SGX (software guard extensions), SEV (secure encrypted virtualization), Trust Zone, etc.
[0172] In another specific implementation, a virtual machine or container is installed on the second computing device to provide a second secure computing environment. Specifically, the fourth control module and the application on the second computing device are both run in the virtual machine or container, providing an isolated environment for the fourth control module to process the first data and the application to use the first data.
[0173] It should be understood that the above-mentioned implementation method of the second secure computing environment is only an example. Different second secure computing environments can be provided for the second computing device according to different security requirements and combined with different software or hardware. This is not a specific limitation here.
[0174] In some possible implementations, if the first data retrieved from the second storage device is ciphertext, the fourth control module decrypts the ciphertext and provides the decrypted first data to the application. After the first data is used, the fourth control module encrypts the first data and new data generated during the use process to form ciphertext, and then sends the ciphertext to the second storage device or the second database system for storage, thereby ensuring that the first data exists in ciphertext format outside of the use process.
[0175] It should be understood that the fact that the first usage policy executed by the second computing device and the first data provided to the application in step S609 are from the second storage device is merely an example and is not a specific limitation herein. The first usage policy executed by the second computing device and the first data provided to the application may also be from the second database system. Furthermore, the first usage policy may arrive at the second computing device before the first data in the second database system, or may arrive at the second computing device together with the first data in the second database system. The first data and the first usage policy in the second database system are from the second storage device.
[0176] S610: The second computing device generates a first usage record of the first data, and reports the first usage record to the first computing device.
[0177] In some possible implementations, the fourth control module of the second computing device generates a first usage record of the first data (such as a behavior log, a management log, etc.), thereby recording the use of the first data by the second computing device, including the acquisition of the first data in the second storage device and the use of the first data by the application. Subsequently, the second computing device reports the first usage record to the first computing device, so that the data owner can determine whether the use of the first data by the second computing device complies with the first usage policy and / or the first usage request based on the first usage record, thereby grasping the usage of the first data in real time and responding to exceptions in a timely manner. The second computing device reporting the first usage record to the first computing device may include at least the following two implementations:
[0178] In a specific implementation, the second computing device may send the first usage record directly to the first computing device. The first computing device may store the received first usage record in a first storage device, a first computing device, or a first database system. The first database system may be database system 23 in FIG5 .
[0179] In another specific implementation, the second computing device may upload the first usage record to a data circulation service system, and the first computing device may download the first usage record from the data circulation service system. Furthermore, the first computing device may also perform audits, risk identification, and traceability analysis on the data user's usage behavior based on the first usage record in the data circulation service system. The data circulation service system is the data circulation service system described in step S602 above.
[0180] In some possible implementations, the second computing device has a second secure computing environment, and the fourth control module generates the first usage record in the second secure computing environment, thereby ensuring that the first usage record cannot be tampered with and ensuring the security and credibility of the first usage record.
[0181] It should be understood that in the above embodiment, data transmission between the first storage device and the second storage device is merely an example of data transmission between the first connection system and the second connection system, and is not intended to be a specific limitation. For example, data transmission between the first computing device and the second computing device may also be implemented to achieve data transmission between the first connection system and the second connection system.
[0182] If data transmission is implemented between the first computing device and the second computing device, then in steps S601, S602, S603, S604, S605, S606, and S607 of the above embodiment, the operations performed by the first storage device will be performed by the first computing device, the operations performed by the first management module of the first storage device will be performed by the second management module of the first computing device, the operations performed by the first docking module of the first storage device will be performed by the second docking module of the first computing device, and the operations performed by the first control module of the first storage device will be performed by the second control module of the first computing device. Accordingly, in steps S603, S605, and S607 of the above embodiment, the operations performed by the second storage device will be performed by the second computing device, the operations performed by the third management module of the second storage device will be performed by the fourth management module of the second computing device, the operations performed by the third docking module of the second storage device will be performed by the fourth docking module of the second computing device, and the operations performed by the third control module of the second storage device will be performed by the fourth control module of the second computing device. After the second computing device receives the first data and the first usage policy sent by the first computing device through the first secure communication channel, it directly uses the first data while executing the first usage policy, that is, it directly executes step S609 in the above embodiment. Therefore, step S608 in the above embodiment is not executed when data transmission is realized between the first computing device and the second computing device.
[0183] It should be understood that data transmission between the first connection system and the second connection system can also be achieved by implementing data transmission between the first database system and the second database system. If data transmission is implemented between the first database system and the second database system, then in steps S601, S602, S603, S604, S605, S606, and S607 in the above embodiment, the operations performed by the first storage device will be performed by the first database system, the operations performed by the first management module of the first storage device will be performed by the fifth management module of the first database system, the operations performed by the first docking module of the first storage device will be performed by the fifth docking module of the first database system, and the operations performed by the first control module of the first storage device will be performed by the fifth control module of the first database system. Accordingly, in steps S603, S605, and S607 in the above embodiment, the operations performed by the second storage device will be performed by the second database system, the operations performed by the third management module of the second storage device will be performed by the sixth management module of the second database system, the operations performed by the third docking module of the second storage device will be performed by the sixth docking module of the second database system, and the operations performed by the third control module of the second storage device will be performed by the sixth control module of the second database system. Among them, the first database system and the second database system can refer to the database system 23 in Figure 5 above, the fifth management module and the sixth management module can refer to the management module 231 of the database system 23 in Figure 5 above, the fifth docking module and the sixth docking module can refer to the docking module 232 of the database system 23 in Figure 5 above, and the fifth control module and the sixth control module can refer to the control module 233 of the database system 23 in Figure 5 above.
[0184] In summary, the implementation of the embodiments of the present application has the following advantages:
[0185] First, the internal structure of a connection system and a method for two connection systems to achieve data circulation based on their internal structure are provided, so that the process of first data flowing from the data owner to the data user, including creating the first data, publishing asset information, determining the first usage policy, transmitting the first data, storing the first data, using the first data, monitoring the use of the first data, and other stages of data circulation, can be guaranteed to be secure and reliable. Therefore, the embodiments of the present application provide a practical solution for ensuring the secure circulation of first data between any two data entities and avoiding the occurrence of problems such as data abuse and data leakage during the circulation process.
[0186] Secondly, compared to directly sending the first data to the device that requires the first data, which makes it impossible to control the use of the first data in the device that requires the first data, this technical solution processes the first data according to the instructions of the device that requires the first data by a second storage device that can execute the first usage policy, so that the second computing device's access, acquisition, use and other behaviors of the first data are always carried out under the constraints of the first usage policy, thereby being able to securely control the usage behavior of data users and ensure the security of the first data during circulation.
[0187] Third, the secure transmission of the first data using the two connected storage devices allows applications on the second computing device to directly access the first data within the second storage device within the same connected system when they need to use the first data, without having to change the application's original usage of the first data on the second computing device. This facilitates data users to directly deploy applications without having to make significant adjustments to the applications in order to use the first data, thereby improving the flow of the first data across multiple applications.
[0188] Fourthly, using the first circulation policy to verify the legitimacy of the data user's first use request and the compliance of the first data can control the circulation of the first data, thereby ensuring the security of the first data during circulation. Furthermore, access, acquisition, and use of the first data are only supported when the first use policy is implemented, enabling secure management and control of the data user's use behavior, thereby ensuring the security of the first data during circulation.
[0189] Fifthly, the second computing device executes the first usage policy in the second secure computing environment and provides the first data to the application, which can ensure that the execution process of the first usage policy is not interfered with and can also avoid the leakage of the first data.
[0190] Based on the aforementioned first and second connection systems, and the aforementioned data flow method, the following describes another data flow method, using the first connection system for processing first data according to instructions from a storage device for the first data, the second connection system for processing first data according to instructions from a device requesting the first data, and data transmission between the first and second storage devices as an example of data transmission between the first and second connection systems. Furthermore, another data flow method will be described in detail, using the third connection system for processing second data according to instructions from a storage device for the second data, the first connection system for processing second data according to instructions from a device requesting the second data, and data transmission between the third storage device and the first storage device as an example of data transmission between the third connection system and the first connection system. The device requesting the second data and the storage device for the first data are different devices, or the device requesting the second data and the storage device for the first data are the same device. The third connection system includes a third storage device, a third computing device, and a third database system. The third storage device can refer to storage device 21 in FIG. 3 , the third computing device can refer to computing device 22 in FIG. 4 , and the third database system can refer to database system 23 in FIG. 5 .
[0191] See Figure 7, which is a flow chart of another data circulation method provided by the present application. As shown in Figure 7, the data circulation method provided by the present application includes:
[0192] S701: A first storage device establishes a first secure communication channel with a second storage device.
[0193] S702: The first storage device creates first data and asset information of the first data, and obtains a first transfer strategy for the first data.
[0194] S703: The first storage device publishes asset information of the first data.
[0195] S704: The second storage device sends a first usage request to the first storage device based on the asset information of the first data. Correspondingly, the first storage device receives the first usage request sent by the second storage device.
[0196] S705: The first storage device determines whether the first usage request and the first data comply with the first transfer policy.
[0197] S706: The first storage device obtains a first usage policy for the first data.
[0198] S707: If the first usage request and the first data comply with the first transfer policy, the first storage device sends the first data and the first usage policy to the second storage device via the first secure communication channel. Correspondingly, the second storage device receives the first data and the first usage policy sent by the first storage device via the first secure communication channel.
[0199] S708: The second storage device sends the first data and the first usage policy to the second computing device while executing the first usage policy on the first data. Correspondingly, the second computing device receives the first data and the first usage policy sent by the second storage device.
[0200] S709: The second computing device uses the first data while executing the first usage policy.
[0201] S710: The second computing device generates a first usage record of the first data, and reports the first usage record to the first computing device.
[0202] The execution process of the above-mentioned steps S701 to S710 can refer to the execution process of steps S601 to S610 in Figure 6, and for the sake of brevity of the description, they will not be further described here.
[0203] S711: The third storage device establishes a second secure communication channel with the first storage device.
[0204] S712: The third storage device creates the second data and the asset information of the second data, and obtains a second transfer strategy for the second data.
[0205] S713: The third storage device publishes the asset information of the second data.
[0206] S714: The first storage device sends a second usage request to the third storage device based on the asset information of the second data. Correspondingly, the third storage device receives the second usage request sent by the first storage device.
[0207] S715: The third storage device determines whether the second usage request and the second data comply with the second transfer policy.
[0208] S716: The third storage device obtains a second usage policy for the second data.
[0209] S717: If the second usage request and the second data comply with the second transfer policy, the third storage device sends the second data and the second usage policy to the first storage device via the second secure communication channel. Correspondingly, the first storage device receives the second data and the second usage policy sent by the third storage device via the second secure communication channel.
[0210] S718: The first storage device sends the second data and the second usage policy to the first computing device while executing the second usage policy on the second data. Accordingly, the first computing device receives the second data and the second usage policy sent by the first storage device.
[0211] S719: The first computing device uses the second data while executing the second usage policy.
[0212] In some possible implementations, the second control module of the second computing device can execute the second usage policy in the first secure computing environment and provide the second data to the application. This allows the first secure computing environment to protect the security of the execution of the second usage policy and the security of the use of the second data. The implementation of the first computing environment can refer to the implementation of the second computing environment in step S609 of FIG. 6 .
[0213] S720: The first computing device generates a second usage record of the second data, and reports the second usage record to the third computing device.
[0214] The execution process of the above-mentioned steps S711 to S720 can refer to the execution process of steps S601 to S610 in Figure 6, and for the sake of brevity of the description, they will not be elaborated here.
[0215] It should be understood that the present technical solution may first execute steps S701 to S710, and then execute steps S711 to S720; or may first execute steps S711 to S720, and then execute steps S701 to S710; or may alternately execute steps S701 to S710 and steps S711 to S720, for example, first execute step S701, then execute step S711, then execute step S702, and then execute step S712... or, first execute steps S711, S712, and S713, then execute steps S701, S702, and S703, then execute steps S714, S715, and S716, and then execute steps S704, S705, and S706...
[0216] It should be understood that in the above embodiment, data transmission between the third storage device and the first storage device is merely an example of data transmission between the third connection system and the first connection system, and is not intended to be a specific limitation. For example, data transmission between the third connection system and the first connection system can also be achieved by implementing data transmission between the third computing device and the first computing device, or by implementing data transmission between the third database system and the first database system. For the sake of brevity, this will not be further described here.
[0217] Referring to Figure 8 , Figure 8 is a schematic diagram of the structure of a data circulation system provided in this application. The data circulation system can be used to implement the aforementioned data circulation method. As shown in Figure 8 , data circulation system 800 includes: a first storage device 810 and a second storage device 820. The first storage device 810 includes a first management module 811, a first control module 812, and a first docking module 813. The second storage device 820 includes a third docking module 821 and a third control module 822.
[0218] The first management module 811 is used to obtain source data from a storage device and generate first data based on the source data;
[0219] The first control module 812 is used to obtain a first transfer strategy and a first usage strategy for the first data;
[0220] The first docking module 813 is configured to send the first data and the first usage policy to the second storage device 820 if it is determined that the first data complies with the first circulation policy;
[0221] The third docking module 821 is configured to receive the first data and the first usage policy of the first data sent by the first docking module 813 of the first storage device 810;
[0222] The third control module 822 is configured to send the first data and the first usage policy to the second computing device to control usage of the first data by the second computing device when the first usage policy is executed on the first data.
[0223] Among them, the first usage policy is a policy instructing the second storage device 820 to use the first data. The storage device belongs to the first user. The second storage device 820 and the second computing device belong to the second connection system. The second storage device 820 and the second computing device are used to process the first data according to the instructions of the first data demand device, that is, the second connection system is used to process the first data according to the instructions of the first data demand device. The first data demand device belongs to the second user, and the storage device and the first data demand device are different devices.
[0224] In some possible implementations, the first docking module 813 is specifically used to receive a first usage request for requesting first data, and when it is determined that the first usage request and the first data comply with the first flow policy, send the first data and the first usage policy to the second storage device 820.
[0225] In some possible implementations, the first docking module 813 is further configured to receive the second data and the second usage policy of the second data sent by the third storage device;
[0226] The first control module 812 is further configured to, when executing the second usage policy on the second data, send the second data and the second usage policy to the first computing device to control usage of the second data by the first computing device.
[0227] In some possible implementations, the first flow strategy includes one or more of the user objects and access contents of the first data. The first flow strategy is generated based on the flow requirements or the asset information of the first data, wherein the flow requirements are determined by negotiation between the first storage device 810 and the second storage device 820, and the asset information is generated by the first management module 811, and the asset information includes one or more of the type, size, format, purpose, and available time of the first data.
[0228] In some possible implementations, the first usage policy includes one or more of a usage time, a usage scope, and a usage method of the first data.
[0229] Referring to Figure 9 , Figure 9 is a schematic diagram of the structure of another data circulation system provided by this application. The data circulation system can be used to implement the aforementioned data circulation method. As shown in Figure 9 , data circulation system 900 includes: a first computing device 910 and a second computing device 920. The first computing device 910 includes a second management module 911, a second control module 912, and a second docking module 913. The second computing device 920 includes a fourth docking module 921 and a fourth control module 922.
[0230] The second management module 911 is used to obtain source data from the storage device and generate first data based on the source data;
[0231] The second control module 912 is used to obtain a first transfer strategy and a first use strategy for the first data;
[0232] The second docking module 913 is configured to send the first data and the first usage policy to the second computing device 920 if it is determined that the first data complies with the first circulation policy;
[0233] The fourth docking module 921 is configured to receive the first data and the first usage policy of the first data sent by the second docking module 913 of the first computing device 910;
[0234] The fourth control module 922 is configured to use the first data while executing the first usage policy.
[0235] Among them, the first usage strategy is a strategy that instructs the second computing device 920 to use the first data. The first computing device 910 is used to process the first data according to the instructions of the storage device. The storage device belongs to the first user. The second computing device 920 is used to process the first data according to the instructions of the first data demand device. The first data demand device belongs to the second user. The storage device and the first data demand device are different devices.
[0236] In some possible implementations, the second docking module 913 is specifically used to receive a first usage request for requesting first data sent by the second computing device 920, and to send the first data and the first usage policy to the second computing device 920 when it is determined that the first usage request and the first data comply with the first flow policy.
[0237] In some possible implementations, the second computing device 920 has a second secure computing environment. The fourth control module 922 is specifically configured to execute a first usage policy on the first data in the second secure computing environment, generate a first usage record, and upload the first usage record to the first computing device 910, thereby controlling the use of the first data by applications on the second computing device 920. The first usage record is a record of the use of the first data by the second computing device 920. The second secure computing environment is a secure, isolated environment used to protect the security of the second computing device 920, the security of the execution of the first usage policy, and the security of the use of the first data. This is achieved by closing data input and output interfaces when the second computing device 920 uses the first data, or by deploying a trusted execution environment in the second computing device 920, or by deploying a virtual machine or container in the second computing device 920.
[0238] In some possible implementations, the first computing device 910 is also used to receive a first usage record of the first data by the second computing device 920, and determine whether the use of the first data by the second computing device 920 complies with a first usage policy based on the first usage record, wherein the first usage record is a record of the second computing device 920 using the first data.
[0239] In some possible implementations, the second docking module 913 is further configured to receive the second data and the second usage policy for the second data sent by the third computing device, and to execute the second usage policy on the second data to control the use of the second data by the first computing device 910. The first computing device 910 is configured to process the second data according to an instruction from a device requesting the second data, and the device requesting the second data and the storage device are different devices, or the device requesting the second data and the storage device are the same device.
[0240] In some possible implementations, the first computing device 910 has a first secure computing environment, and the second control module 912 is specifically configured to execute a second usage policy on the second data in the first secure computing environment, generate a second usage record, and upload the second usage record to a third computing device, thereby controlling the first computing device's 910 use of the second data. The second usage record is a record of the first computing device's 910 use of the second data. The first secure computing environment is a secure, isolated environment used to protect the security of the first computing device 910, the security of the execution of the second usage policy, and the security of the use of the second data. This is achieved by closing data input and output interfaces when the first computing device 910 uses the second data, or by deploying a trusted execution environment in the first computing device 910, or by deploying a virtual machine or container in the first computing device 910.
[0241] In some possible implementations, the first flow strategy includes one or more of the user objects and access contents of the first data, and the first flow strategy is generated based on the flow requirements or the asset information of the first data, wherein the flow requirements are determined by negotiation between the first computing device 910 and the second computing device 920, and the asset information is generated by the first computing device 910, and the asset information includes one or more of the type, size, format, purpose, and available time of the first data.
[0242] In some possible implementations, the first usage policy includes one or more of a usage time, a usage scope, and a usage method of the first data.
[0243] Referring to Figure 10, Figure 10 is a schematic diagram of the structure of a computing device cluster provided by the present application. The computing device cluster provided by the present application includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
[0244] As shown in FIG. 10 , the computing device cluster includes at least one computing device 1000 .
[0245] Computing device 1000 includes a bus 1001, a processor 1002, a memory 1003, and a communication interface 1004. Processor 1002, memory 1003, and communication interface 1004 communicate with each other via bus 1001. It should be understood that this application does not limit the number of processors and memories in computing device 1000.
[0246] Bus 1001 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, among others. Buses may be classified as address buses, data buses, control buses, and the like. For ease of illustration, FIG10 illustrates a single bus line, but this does not imply a single bus or type of bus. Bus 1001 may include a path for transmitting information between various components of computing device 1000 (e.g., memory 1003, processor 1002, and communication interface 1004).
[0247] The processor 1002 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0248] The memory 1003 may include a volatile memory, such as a random access memory (RAM). The memory 1003 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
[0249] Memory 1003 stores executable program code. Processor 1002 executes this executable program code to implement the functions of management module 221, docking module 222, and control module 223 of computing device 22, respectively, thereby implementing the operations implemented by the first computing device, the second computing device, or the third computing device in the aforementioned data circulation method. In other words, memory 1003 stores instructions for the first computing device, the second computing device, or the third computing device to execute the data circulation method.
[0250] The communication interface 1004 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1000 and other devices or a communication network.
[0251] In some possible implementations, the memory 1003 in one or more computing devices 1000 in the computing device cluster may store the same instructions for executing the data circulation method.
[0252] In some possible implementations, the memory 1003 of one or more computing devices 1000 in the computing device cluster may also store partial instructions for executing the data circulation method. In other words, the combination of one or more computing devices 1000 can jointly execute the instructions for executing the data circulation method.
[0253] It should be noted that the memory 1003 in different computing devices 1000 in the computing device cluster can store different instructions, each for executing part of the functions of the aforementioned computing device 22. In other words, the instructions stored in the memory 1003 in different computing devices 1000 can implement the functions of one or more of the aforementioned management module 221, docking module 222, and control module 223.
[0254] Referring to Figure 11, Figure 11 is a schematic diagram of the structure of another computing device cluster provided by the present application. In some possible implementations, one or more computing devices in the computing device cluster can be connected via a network. The network can be a wide area network or a local area network, etc. As shown in Figure 11, two computing devices 1000A and 1000B are connected via a network. Specifically, they are connected to the network through the communication interface in each computing device. In this type of possible implementation, the memory 1003 in the computing device 1000A stores instructions for executing the functions of the management module 221. At the same time, the memory 1003 in the computing device 1000B stores instructions for executing the functions of the docking module 222 and the control module 223.
[0255] The connection method between the computing device clusters shown in Figure 11 can be considered to be that the data circulation method provided by this application requires a large amount of data storage, so the functions implemented by the management module 221 are considered to be handed over to the computing device 1000A for execution.
[0256] It should be understood that the functions of the computing device 1000A shown in FIG11 may also be completed by multiple computing devices 1000. Similarly, the functions of the computing device 1000B may also be completed by multiple computing devices 1000.
[0257] The present application also provides another computing device cluster. The connection relationship between the computing devices in this computing device cluster can be similar to the connection method of the computing device cluster described in Figures 10 and 11. However, the memory 1003 in one or more computing devices 1000 in this computing device cluster can store the same instructions for executing the data circulation method.
[0258] Referring to FIG. 12 , FIG. 12 is a schematic diagram of the structure of a storage device cluster provided in this application. The storage device cluster provided in this application includes at least one storage device. The storage device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the storage device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
[0259] As shown in FIG. 12 , the storage device cluster includes at least one storage device 1200 .
[0260] The storage device 1200 includes a bus 1201, a processor 1202, a memory 1203, and a communication interface 1204. The processor 1202, the memory 1203, and the communication interface 1204 communicate with each other via the bus 1201. It should be understood that the present application does not limit the number of processors and memories in the storage device 1200.
[0261] Bus 1201 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, among others. Buses may be classified as address buses, data buses, control buses, and the like. For ease of illustration, FIG12 shows only one line, but this does not imply that there is only one bus or only one type of bus. Bus 1201 may include a path for transmitting information between the various components of storage device 1200 (e.g., memory 1203, processor 1202, and communication interface 1204).
[0262] The processor 1202 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0263] The memory 1203 may include a volatile memory, such as a random access memory (RAM). The memory 1003 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
[0264] Memory 1203 stores executable program code. Processor 1202 executes this executable program code to implement the functions of management module 211, docking module 212, and control module 213 of the aforementioned storage device 21, thereby implementing the operations implemented by the first storage device, the second storage device, or the third storage device in the aforementioned data circulation method. In other words, memory 1203 stores instructions for the first storage device, the second storage device, or the third storage device to execute the data circulation method.
[0265] The communication interface 1204 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the storage device 1200 and other devices or a communication network.
[0266] In some possible implementations, the memory 1203 in one or more storage devices 1200 in the storage device cluster may store the same instructions for executing the data circulation method.
[0267] In some possible implementations, the memory 1203 of one or more storage devices 1200 in the storage device cluster may also store partial instructions for executing the data circulation method. In other words, the combination of one or more storage devices 1200 can jointly execute the instructions for executing the data circulation method.
[0268] It should be noted that the memories 1203 in different storage devices 1200 in the storage device cluster may store different instructions, each for executing part of the functions of the aforementioned storage device 21. In other words, the instructions stored in the memories 1203 in different storage devices 1200 may implement the functions of one or more of the aforementioned management module 211, docking module 212, and control module 213.
[0269] Referring to Figure 13, Figure 13 is a schematic diagram of the structure of another storage device cluster provided by the present application. In some possible implementations, one or more storage devices in the storage device cluster can be connected via a network. The network can be a wide area network or a local area network, etc. As shown in Figure 13, two storage devices 1200A and 1200B are connected via a network. Specifically, they are connected to the network via a communication interface in each storage device. In this type of possible implementation, the memory 1203 in the storage device 1200A stores instructions for executing the functions of the management module 211. At the same time, the memory 1203 in the storage device 1200B stores instructions for executing the functions of the docking module 212 and the control module 213.
[0270] The connection method between the storage device clusters shown in Figure 13 may be considered to be that the data circulation method provided by this application requires a large amount of data storage, so the functions implemented by the management module 211 are considered to be handed over to the storage device 1200A for execution.
[0271] It should be understood that the functions of the storage device 1200A shown in FIG13 may also be completed by multiple storage devices 1200. Similarly, the functions of the storage device 1200B may also be completed by multiple storage devices 1200.
[0272] The present application also provides another storage device cluster. The connection relationship between the storage devices in this storage device cluster can be similar to the connection method of the storage device cluster described in Figures 12 and 13. However, the memory 1203 in one or more storage devices 1200 in this storage device cluster can store the same instructions for executing the data circulation method.
[0273] The present application also provides a computer program product comprising instructions. The computer program product may be software or a program product comprising instructions that can be run on a computing device or stored on any available medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to execute the aforementioned data circulation method or another aforementioned data circulation method.
[0274] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center that contains one or more available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute the aforementioned data circulation method, or instruct the computing device to execute another aforementioned data circulation method.
[0275] It should be understood that in the embodiments of the present application, "when...", "when..." and "if" all mean that the terminal device or access network device will make corresponding processing under certain objective circumstances. It is not a time limit, and it does not require the terminal device or access network device to perform a judgment action when implementing it, nor does it mean that there are other limitations.
[0276] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the protection scope of the technical solutions of the embodiments of the present application.
Claims
1. A data circulation method, characterized in that: include: The first storage device generates first data; The first storage device acquires a first circulation strategy and a first use strategy of the first data; When determining that the first data complies with the first circulation policy, the first storage device sends the first data and the first usage policy to the second storage device, wherein the first usage policy is a policy instructing the second storage device to use the first data.
2. The method according to claim 1, characterized in that The first storage device generates first data, including: The first storage device obtains source data from a storage device, and generates the first data based on the source data, wherein the storage device belongs to a first user, and the second storage device is used to process the first data according to instructions of a device demanding the first data, and the device demanding the first data belongs to a second user, and the storage device and the device demanding the first data are different devices.
3. The method according to claim 1 or 2, characterized in that: Before the first storage device sends the first data and the first usage policy to the second storage device when determining that the first data complies with the first flow policy, the method further includes: The first storage device receives a first use request, wherein the first use request is used to request the first data; The first storage device sends the first data and the first use policy to the second storage device when determining that the first data complies with the first flow policy, including: When determining that the first usage request and the first data comply with the first circulation policy, the first storage device sends the first data and the first usage policy to the second storage device.
4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: The first storage device receives second data and a second usage policy of the second data sent by the third storage device; When the first storage device executes the second usage policy on the second data, the first storage device sends the second data and the second usage policy to the first computing device to control usage of the second data by an application on the first computing device.
5. The method according to any one of claims 1 to 4, characterized in that: The first circulation strategy includes one or more of the user objects and access contents of the first data, and the first circulation strategy is generated based on the circulation requirements or the asset information of the first data, wherein the circulation requirements are determined by negotiation between the first storage device and the second storage device, and the asset information is generated by the first storage device, and the asset information includes one or more of the type, size, format, purpose, and available time of the first data.
6. The method according to any one of claims 1 to 5, characterized in that: The first usage policy includes one or more of the usage time, usage scope, and usage method of the first data.
7. A data circulation method, characterized in that: include: The second storage device receives the first data and the first usage policy of the first data sent by the first storage device; When the second storage device executes the first usage policy on the first data, the second storage device sends the first data and the first usage policy to a second computing device to control usage of the first data by an application on the second computing device.
8. The method according to claim 7, characterized in that The second storage device and the second computing device belong to a second connection system, and the second connection system is used to process the first data according to an instruction of a device requiring the first data.
9. The method according to claim 7 or 8, characterized in that: The first usage policy includes one or more of the usage time, usage scope, and usage method of the first data.
10. A data circulation method, characterized in that: include: A first computing device generates first data; The first computing device acquires a first circulation strategy and a first use strategy of the first data; When determining that the first data complies with the first circulation policy, the first computing device sends the first data and the first usage policy to a second computing device, wherein the first usage policy is a policy instructing the second computing device to use the first data.
11. The method according to claim 10, characterized in that The first computing device generates first data, including: The first computing device obtains source data from a storage device and generates the first data based on the source data, wherein the storage device belongs to a first user, and the second computing device is used to process the first data according to instructions of a device demanding the first data, and the device demanding the first data belongs to a second user, and the storage device and the device demanding the first data are different devices.
12. The method according to claim 10 or 11, characterized in that: Before the first computing device sends the first data and the first usage policy to the second computing device when determining that the first data complies with the first circulation policy, the method further includes: The first computing device receives a first use request sent by the second computing device, wherein the first use request is used to request the first data; The first computing device sends the first data and the first usage policy to the second computing device when determining that the first data complies with the first circulation policy, including: When determining that the first usage request and the first data comply with the first circulation policy, the first computing device sends the first data and the first usage policy to the second computing device.
13. The method according to any one of claims 10 to 12, characterized in that: The method further comprises: The first computing device receives a first usage record of the first data by the second computing device, wherein the first usage record is a record of the second computing device using the first data; The first computing device determines, based on the first usage record, whether usage of the first data by the second computing device complies with the first usage policy.
14. The method according to any one of claims 10 to 13, characterized in that: The method further comprises: The first computing device receives second data sent by a third computing device and a second usage policy of the second data; The first computing device executes the second usage policy on the second data to control usage of the second data by an application on the first computing device.
15. The method according to claim 14, characterized in that The first computing device is used to process the second data according to an instruction of a device requiring the second data, the device requiring the second data and the storage device are different devices, or the device requiring the second data and the storage device are the same device.
16. The method according to claim 14 or 15, characterized in that The first computing device executes the second usage policy on the second data to control usage of the second data by an application on the first computing device, including: The first computing device executes the second usage policy on the second data in a first secure computing environment to control the use of the second data by an application on the first computing device, wherein the first secure computing environment is a secure isolation environment used to protect the security of the first computing device, the security of the execution process of the second usage policy, and the security of the use process of the second data.
17. The method according to claim 16, characterized in that The method further comprises: The first computing device generates a second usage record in the first secure computing environment, and uploads the second usage record to the third computing device, wherein the second usage record is a record of the first computing device using the second data.
18. The method according to claim 17, characterized in that The first secure computing environment is implemented by closing a data input interface and a data output interface of the application on the first computing device when the application uses the second data, or the first secure computing environment is implemented by deploying a trusted execution environment in the first computing device, or the first secure computing environment is implemented by deploying a virtual machine or a container in the first computing device.
19. The method according to any one of claims 10 to 18, characterized in that: The first circulation strategy includes one or more of the user objects and access contents of the first data, and the first circulation strategy is generated based on the circulation requirements or the asset information of the first data, wherein the circulation requirements are determined by negotiation between the first computing device and the second computing device, and the asset information is generated by the first computing device, and the asset information includes one or more of the type, size, format, purpose, and available time of the first data.
20. The method according to any one of claims 10 to 19, characterized in that: The first usage policy includes one or more of the usage time, usage scope, and usage method of the first data.
21. A data circulation method, characterized in that: include: The second computing device receives the first data sent by the first computing device and the first usage policy of the first data; The second computing device uses the first data while executing the first usage policy.
22. The method according to claim 21, characterized in that The second computing device is used to process the first data according to the instructions of the device demanding the first data, the first computing device is used to process the first data according to the instructions of the storage device, the first data is generated based on the source data in the storage device, the storage device belongs to the first user, the demand device belongs to the second user, and the storage device and the demand device are different devices.
23. The method according to claim 21 or 22, characterized in that The second computing device executes the first usage policy on the first data to control usage of the first data by an application on the second computing device, including: The second computing device executes the first usage policy on the first data in a second secure computing environment to control the use of the first data by an application on the second computing device, wherein the second secure computing environment is a secure isolation environment used to protect the security of the second computing device, the security of the execution process of the first usage policy, and the security of the use process of the first data.
24. The method according to claim 23, characterized in that The method further comprises: The second computing device generates a first usage record in the second secure computing environment, and uploads the first usage record to the first device, wherein the first usage record is a record of the second computing device using the first data.
25. The method according to claim 23 or 24, characterized in that The second secure computing environment is implemented by closing a data input interface and a data output interface of the application on the second computing device when the application uses the first data, or the second secure computing environment is implemented by deploying a trusted execution environment in the second computing device, or the second secure computing environment is implemented by deploying a virtual machine or a container in the second computing device.
26. The method according to any one of claims 21 to 25, characterized in that: The first usage policy includes one or more of the usage time, usage scope, and usage method of the first data.
27. A data circulation device, characterized in that: Used as a first storage device, comprising a first management module, a first control module and a first docking module, The first management module is used to generate first data; The first control module is used to obtain a first circulation strategy and a first use strategy of the first data; The first docking module is used to send the first data and the first usage policy to the second storage device when it is determined that the first data complies with the first circulation policy, wherein the first usage policy is a policy instructing the second storage device to use the first data.
28. A data circulation device, characterized in that: Used as a first computing device, comprising a second management module, a second control module and a second docking module, The second management module is used to generate first data; The second control module is used to obtain a first circulation strategy and a first use strategy of the first data; The second docking module is used to send the first data and the first usage policy to a second computing device when it is determined that the first data complies with the first circulation policy, wherein the first usage policy is a policy instructing the second computing device to use the first data.
29. A data circulation device, characterized in that: Used as a second storage device, comprising a third docking module and a third control module, The third docking module is used to receive the first data sent by the first storage device and the first usage policy of the first data; The third control module is used to send the first data and the first usage policy to a second computing device to control the use of the first data by an application on the second computing device when the first usage policy is executed on the first data.
30. A data circulation device, characterized in that: Used as a second computing device, comprising a fourth docking module and a fourth control module, The fourth docking module is used to receive the first data sent by the first computing device and the first usage policy of the first data; The fourth control module is used to use the first data while executing the first usage policy.
31. A data circulation system, characterized in that: Comprises the first storage device as claimed in claim 27, and / or the second storage device as claimed in claim 29.
32. A data circulation system, characterized in that: Comprises the first computing device as claimed in claim 28, and / or the second computing device as claimed in claim 30.
33. A storage device cluster, characterized in that: comprising at least one storage device, each storage device comprising a processor and a memory; The processor of the at least one storage device is used to execute instructions stored in the memory of the at least one storage device, so that the storage device cluster executes the method according to any one of claims 1 to 6, or executes the method according to any one of claims 7 to 9.
34. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 10 to 20, or executes the method according to any one of claims 21 to 26.
35. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1 to 26.
36. A computer-readable storage medium, characterized in that: The method comprises computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster performs the method according to any one of claims 1 to 26.
Citation Information
Patent Citations
Data circulation method, device and system
CN119628849A
Data use control method and system, electronic equipment and storage medium
CN114444109A
Network access management method and device, electronic equipment and storage medium
CN116032570A
Collaboration provision device, data distribution provision device, and collaboration provision method
JP7295492B1
Authorization of access to a data resource in addition to specific actions to be performed on the data resource based on an authorized context enforced by a use policy
US20170034217A1