Data circulation method, device and system

By introducing storage devices and using circulation policies and usage policies in the data flow process, the problem of safe circulation between any two data entities is solved, and the control of data usage behavior is realized, avoiding data abuse and leakage.

CN119628849APending Publication Date: 2025-03-14HUAWEI TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311190481.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-14
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

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.

Method used

By introducing the first storage device and the second storage device in the data flow process, data is generated and processed separately, and when it is determined that the data complies with the flow policy, the data and usage policy are sent to the receiver, ensuring that the data usage complies with the predetermined policy.

Benefits of technology

It realizes the control of data usage behavior, ensures the safety of data during the flow process, avoids data abuse and leakage, and complies with the requirements of the connector-based data circulation control system proposed by IDSA.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119628849A_ABST
    Figure CN119628849A_ABST
Patent Text Reader

Abstract

The invention provides a data circulation method, device and system, and can be applied to the technical field of computers. The data circulation method comprises the steps that a first storage device generates first data; obtaining a first circulation strategy and a first use strategy of the first data; when it is determined that the first data conforms to the first circulation strategy, the first data and the first use strategy are sent to a second storage device, and the first use strategy is a strategy for indicating the second storage device to use the first data. According to the application, the first data can be sent only when it is determined that the first data conforms to the first circulation strategy, and the second storage device is indicated to use the first data through the first use strategy, so that behaviors of a data user can be managed and controlled, the safety of the first data in the circulation process is ensured, and the user experience is improved. And the problems of data abuse, data leakage and the like can be avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a data circulation method, device and system. Background Art

[0002] The International Data Spaces Association (IDSA) is the most influential international organization in the field of global data circulation, aiming to establish an open, secure and trustworthy data space. In order to solve the security issues of data circulation and effectively limit the use of data in circulation, IDSA proposed a data circulation control system based on connectors. IDSA points out that after any data entity connects to a connector, it can access the data of another data entity through communication between multiple connectors, that is, it builds a blueprint for data security circulation, aiming to ensure data circulation while maintaining the data sovereignty of data owners.

[0003] However, how to design a connector to ensure the secure flow of data between any two data entities and to avoid problems such as data abuse and data leakage during the flow process is an urgent problem that needs to be solved. Summary of the invention

[0004] In order to solve the above technical problems, the present application provides a data circulation method, device and system, so as 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.

[0005] In the first aspect, a data circulation method is provided, including: a first storage device obtains source data from a storage device, generates first data based on the source data, then obtains a first circulation strategy and a first usage strategy of the first data, and sends the first data and the first usage strategy to a second storage device when it is determined that the first data conforms to the first circulation strategy. After the second storage device receives the first data and the first usage strategy of the first data sent by the first storage device, it sends the first data and the first usage strategy to a second computing device to control the use of the first data by an application on the second computing device while executing the first usage strategy on the first data. The first usage strategy is a strategy that instructs the second storage device to use the first data, the storage device belongs to the first user, the second storage device and the second computing device belong to the second connection system, the second storage device and the second computing device are used to process the first data according to the instruction of the device that requires the first data, that is, the second connection system is used to process the first data according to the instruction of the device that requires the first data, the device that requires the first data belongs to the second user, and the storage device and the device that requires the first data are different devices.

[0006] The above scheme has the following advantages:

[0007] 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 sends the first data only when it determines that the first data complies with the first circulation policy, and instructs 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.

[0008] 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 it, this technical solution uses the second storage device that can execute the first use 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 use policy, and thus can also safely control the use behavior of data users and ensure the security of the first data during circulation. Therefore, the above scheme is a practical solution to implement the connector-based data circulation control system proposed by IDSA.

[0009] Third, the first data can be securely transmitted based on two storage devices, so that when an application on the second computing device needs to use the first data, it can directly access the first data in the second storage device in the same connection system without changing the original use behavior of the application on the second computing device for the first data. This makes it easier for data users to directly deploy applications without having to make major adjustments to the applications in order to use the first data, thereby improving the circulation performance of the first data in multiple applications.

[0010] 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.

[0011] In the above scheme, the first circulation strategy is used to verify the rationality of the first use request of the data user, and the first circulation strategy is used to check the compliance of the first data, so as to control the circulation process of the first data and ensure the security of the first data during the circulation process.

[0012] In some possible implementations, the method further includes: the 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.

[0013] 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.

[0014] 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 storage device, and the asset information includes one or more of the type, size, format, purpose, and available time of the first data.

[0015] 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.

[0016] In a 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, then obtains a first circulation strategy and a first usage strategy for the first data, and sends the first data and the first usage strategy to a second computing device when it is determined that the first data complies with the first circulation strategy. 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 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 device that requires the first data, the device that requires the first data belongs to the second user, and the storage device and the device that requires the first data are different devices.

[0017] The above scheme has the following advantages:

[0018] 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 send the first data only when it determines that the first data complies with the first circulation strategy, and the second computing device can use the first data only when it executes the first usage strategy. Therefore, the behavior of data users 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.

[0019] 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 uses the second computing 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 access, acquisition, and use of the first data are always carried out under the constraints of the first usage policy, and thus the use behavior of the data user can be safely controlled to ensure the security of the first data during circulation. Therefore, the above scheme is a practical solution to realize the connector-based data circulation control system proposed by IDSA.

[0020] 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.

[0021] In the above scheme, the first circulation strategy is used to verify the rationality of the first use request of the data user, and the first circulation strategy is used to check the compliance of the first data, so as to control the circulation process of the first data and ensure the security of the first data during the circulation process.

[0022] In some possible implementations, the method further includes: the 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 a 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.

[0023] In the above solution, by monitoring the use of the first data through the first use record, the behavior of the data user can be controlled, thereby ensuring the security of the first data during circulation.

[0024] 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 an application on the second computing device. The first usage record is a record of the use of the first data by the second computing device. The second secure computing environment is a secure isolation environment for protecting 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, and is achieved by closing the data input interface and data output interface of the application when the application on 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.

[0025] In the above solution, the second computing device executes the first usage policy on the first data in the second secure computing environment, which can ensure that the first data is always used in the second secure computing environment, avoiding the leakage of the first data, and can also ensure that the execution process of the first usage policy is not interfered with. In addition, the first usage record is generated in the second secure computing environment, which can ensure that the first usage record cannot be tampered with, ensuring the security and reliability of the first usage record.

[0026] In some possible implementations, the method further includes: the first computing device receives the second data and the second usage policy of the second data sent by the third computing device, and executes the second usage policy on the second data to control the use of the second data by the application on the first computing device. The first computing device is used to process the second data according to the instruction of the 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.

[0027] In the above scheme, the first computing device also supports executing a second usage policy on the second data to control the use of the second data by the application on the first computing device, thereby being able to securely manage the behavior of data users and ensure the security of the second data during circulation.

[0028] 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 use of the second data by the first computing device. The first secure computing environment is a secure isolation environment for protecting 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, and is achieved by closing the data input interface and data output interface of the application when the application on 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.

[0029] In the above solution, the first computing device executes the second usage policy on the second data in the first secure computing environment, which can ensure that the second data is always used in the first secure computing environment, avoiding the leakage of the second data, and can also ensure that the execution process of the second usage policy is not interfered with. In addition, the second usage record is generated in the first secure computing environment, which can ensure that the second usage record cannot be tampered with, ensuring the security and reliability of the second usage record.

[0030] 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 storage device, and the asset information includes one or more of the type, size, format, purpose, and available time of the first data.

[0031] 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.

[0032] According to a third aspect, a data circulation device is provided, which is used as a first storage device, including: 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, the second storage device is used to process the first data according to the instruction 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.

[0033] 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.

[0034] In some possible implementations, the first docking module is further configured to receive second data and a second usage policy of the second data sent by a third storage device;

[0035] The first control module is further configured to 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 when the second usage policy is executed on the second data.

[0036] 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.

[0037] 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.

[0038] 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 a 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, and the storage device belongs to the first user, the second computing device is used to process the first data according to the instruction of a device demanding the first data, the device demanding the first data belongs to the second user, and the storage device and the device demanding the first data are different devices.

[0039] In some possible implementations, the second docking module is specifically used to receive a first usage request sent by a second computing device for requesting 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 circulation policy.

[0040] 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.

[0041] In some possible implementations, the second docking module is further used to receive the second data and the second usage policy of the second data sent by the third computing device, and execute the second usage policy on the second data to control the use of the second data by the first computing device. The first computing device is used to process the second data according to the instruction of the device that requires the second data, and the device that requires the second data and the storage device are different devices, or the device that requires the second data and the storage device are the same device.

[0042] 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 use of the second data by the first computing device. 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, and 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.

[0043] 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 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.

[0044] 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.

[0045] In a fifth aspect, a data circulation device is provided, which is used as a second storage device, and includes: a third docking module and a third control module, wherein the third docking module is used to receive first data and a first usage policy of the first data sent by the first storage device; and the third control module is used to send the first data and the first usage policy to the second computing device to control the use of the first data by the second computing device when the first usage policy is executed on the first data. 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 the instruction of the device requesting 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 sixth aspect, a data circulation device is provided, which is used as a second computing device, and includes: a fourth docking module and a fourth control module, wherein the fourth docking module is used to receive the first data and the first usage policy of the first data sent by the first computing device; and the fourth control module is used to use the first data while executing the first usage policy. The second computing device is used to process the first data according to the instructions of the first data demand device, and 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.

[0048] 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 the 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 use of the first data by the second computing device. 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, and 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.

[0049] 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.

[0050] In a seventh aspect, a data circulation system is provided, comprising a first storage device as in any one of the third aspect, and / or a second storage device as in any one of the fifth aspect.

[0051] In an eighth aspect, a data circulation system is provided, comprising a first computing device as in any one of the fourth aspect, and / or a second computing device as in any one of the sixth aspect.

[0052] 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;

[0053] 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 any method of the second aspect.

[0054] 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;

[0055] 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 any method of the first aspect.

[0056] 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 as described in any one of the first aspect or any one of the second aspect.

[0057] 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 a method as described in any one of the first aspect or any one of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] 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.

[0059] Figure 1 It is a schematic diagram of a data circulation scenario involved in this application;

[0060] Figure 2 It is a structural schematic diagram of a connection system provided by the present application;

[0061] Figure 3 It is a structural schematic diagram of a storage device provided by the present application;

[0062] Figure 4 It is a structural schematic diagram of a computing device provided by the present application;

[0063] Figure 5 It is a structural diagram of a database system provided by this application;

[0064] Figure 6 It is a flowchart of a data circulation method provided by this application;

[0065] Figure 7 It is a flowchart of another data circulation method provided by the present application;

[0066] Figure 8 It is a structural schematic diagram of a data circulation system provided by this application;

[0067] Fig. 9 It is a structural schematic diagram of another data circulation system provided by the present application;

[0068] Fig.10 It is a structural diagram of a computing device cluster provided by this application;

[0069] Fig.11 is a schematic diagram of the structure of another computing device cluster provided by the present application;

[0070] Fig.12 It is a structural diagram of a storage device cluster provided by this application;

[0071] Fig.13 This is a schematic diagram of the structure of another storage device cluster provided by the present application. DETAILED DESCRIPTION

[0072] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application.

[0073] In order to facilitate understanding of the embodiments of the present application, the application scenarios involved in the present application are first introduced.

[0074] See also Figure 1 , Figure 1 This is a schematic diagram of a data circulation scenario involved in this application. Figure 1 As shown, the data circulation scenarios involved in the present application include multiple data entities, for example, an industrial data cloud 12 (industrial data cloud), an enterprise cloud 13 (enterprise cloud), a data trading platform 14 (data marketplace), an Internet of Things cloud 15 (internet of things cloud), an open data source 16 (open data source), enterprise devices (enterprise device 171, enterprise device 172, enterprise device 173...) and personal devices (personal device 181, personal device 182, personal device 183...), etc.

[0075] Data needs to circulate between these data entities in order to realize the value of the data. However, IDSA proposes that while ensuring data circulation, it is also necessary to maintain the data sovereignty of the data owner. Therefore, a connection system must be set up between data entities so that any data entity can 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 safe flow of data between any two data entities and to avoid data abuse, data leakage and other problems during the circulation process is an issue that needs to be solved urgently.

[0076] 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.

[0077] See also Figure 2 , Figure 2 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.

[0078] In some possible implementations, the storage device 21 is used to store unstructured data and semi-structured data, including the operating data of the computing device 22. The storage device 21 may be a server, a network attached storage (NAS), a cloud storage gateway (CSG), etc. Unstructured data includes documents, texts, pictures, reports, images, audio, video, etc. Semi-structured data includes log files, XML documents, JSON documents, Email, HTML documents, etc.

[0079] In some possible implementations, the computing device 22 is used to provide computing services or application services. One or more applications, such as application software, algorithms or functional functions, may be deployed on the computing device 22. The computing device 22 may be a supercomputer, a network computer (such as a server, a workstation, a hub, a switch, a router), an industrial control computer (such as a PC bus industrial computer, a programmable logic control system, a distributed control system, a field bus 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 a chip), etc.

[0080] 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.

[0081] In some possible implementations, within the connection system 20, the computing device 22 can access the unstructured data and semi-structured data in the storage device 21 according to the data request generated by the application, and can also access the structured data in the database system 23. In addition, 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.

[0082] In a specific implementation, when the storage device 21 is used to store the ciphertext of unstructured data and the ciphertext of semi-structured data, and the database system 23 is used to store the ciphertext of structured data, after the computing device 22 obtains the ciphertext of unstructured data or the ciphertext of semi-structured data from the storage device 21, it uses the decryption algorithm to decrypt the ciphertext of unstructured data or the ciphertext of semi-structured data, then processes the decrypted unstructured data or semi-structured data to obtain structured data, then uses the encryption algorithm to encrypt the structured data to obtain the ciphertext of structured data, and stores the ciphertext of structured data in the database system 23. Alternatively, after the computing device 22 obtains the ciphertext of structured data from the database system 23, it uses the decryption algorithm to decrypt the ciphertext of structured data, then processes the decrypted structured data to obtain unstructured data or semi-structured data, then uses the encryption algorithm to encrypt the unstructured data or semi-structured data to obtain the ciphertext of unstructured data or the ciphertext of semi-structured data, and stores the ciphertext of unstructured data or the ciphertext of semi-structured data in the storage device 21. The ciphertext is a string obtained by encrypting data using an encryption algorithm.

[0083] It should be understood that the sources of the ciphertext of the above-mentioned unstructured data, the ciphertext of the semi-structured data, and the ciphertext of the structured data are only used as an example. The ciphertext of the unstructured data and the ciphertext of the semi-structured data can also be obtained by the storage device 21 using an encryption algorithm to encrypt the unstructured data and the semi-structured data respectively, and the ciphertext of the structured data can 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 can 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.

[0084] In some possible implementations, the storage device 21 and the database system 23 may also be used to store anonymous data. The anonymous data in the storage device 21 is obtained by desensitizing the unstructured data or semi-structured data. The anonymous data in the database system 23 is obtained by desensitizing the structured data.

[0085] 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.

[0086] In some possible implementations, the storage device 21, the computing device 22, and the database system 23 may be the same device, and therefore, the connection system 20 may be a device. Taking a server as an example, the storage device 21 may be server A, the computing device 22 may also be server A, and the database system 23 may also be server A, that is, server A as the connection system 20 may implement the functions of the storage device 21, the computing device 22, and the database system 23.

[0087] In some possible implementations, the connection system 20 is connected to the data entity so that the data can be processed on behalf of the data storage device or the data demand device. The data storage device or the data demand device can be a storage device, a computing device or a database system. The connection system 20 is connected to the data entity in at least the following three implementations:

[0088] In a specific implementation, the data entity is deployed on the computing device 22 of the connection system 20, thereby realizing the connection between the connection system 20 and the data entity, so that the connection system 20 can process the data on behalf of the data storage device or the data demand device. For example, the industrial data cloud 12, the enterprise cloud 13, the data trading platform 14, the Internet of Things cloud 15 or the 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. Among them, the data can be unstructured data, semi-structured data or structured data. The description information of the data may include the type, size, format, etc. of the data.

[0089] In another specific implementation, the data entity is a data storage device outside the connection system 20, and the data storage device imports the data into the storage device 21 of the connection system 20, or the computing device 22 of the connection system 20 accesses the data in the data storage device and stores the acquired data in the storage device 21, thereby realizing the connection between the data entity and the connection system 20, so that the connection system 20 can process the data on behalf of the data storage device. For example, the enterprise device 171, the enterprise device 172, and the enterprise device 173 are data storage devices outside the connection system 20, and the computing device 22 can access the data in the enterprise device 171, the enterprise device 172, or the enterprise device 173, and store the data acquired from the enterprise device 171, the enterprise device 172, or the enterprise device 173 in the storage device 21, so that the connection system 20 can process the data on behalf of the enterprise device 171, the enterprise device 172, or the enterprise device 173.

[0090] In another specific implementation, the data entity is a data demand device outside the connection system 20, and the data user deploys the application that can use the data on the data demand device on the computing device 22 of the connection system 20, and the application on the computing device 22 uses the data, that is, it is always guaranteed that only the application on the computing device 22 is provided with data, and no data is provided to the application outside the connection system 20. If the application generates new data (such as intermediate results, calculation results, etc.) during the use of data, the computing device 22 imports the new data into the data demand device. In summary, the connection between the data entity and the connection system 20 can be realized, so that the connection system 20 can process the data on behalf of the data demand device. For example, personal device 181, personal device 182, and personal device 183, as data demand devices outside 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 connection system 20 can complete data processing on behalf of personal device 181, personal device 182, or personal device 183.

[0091] The specific structures of the storage device 21, computing device 22 and database system 23 will be described in detail below.

[0092] See also Figure 3 , Figure 3 Schematic diagram of a storage device provided by this application. Figure 3 As shown, the storage device 21 includes a management module 211 , a docking module 212 and a control module 213 .

[0093] In some possible implementations, the management module 211 is used to store and manage data 2111, data description information 2112, and data asset information 2113. The data 2111 includes unstructured data and semi-structured data, as well as operation data of the computing device 22. The data description information 2112 includes the type, size, format, etc. of the data 2111. The data asset information 2113 includes the type, size, format, purpose, available time, etc. of the data 2111.

[0094] In some possible implementations, the docking module 212 is used to manage all data input to the connection system 20 and all data output from the connection system 20, and to perform data transmission with the docking module of the storage device of another connection system 20. To achieve the above data transmission, the docking module 212 needs to maintain the transmission protocol 2121 and the use requirement 2122. The transmission protocol 2121 can be a secure socket layer protocol (SSL), a transport layer security protocol (TLS), etc. The use requirement 2122 includes the use time, use scope, use method, etc. of the data 2111.

[0095] In some possible implementations, the control module 213 is used to obtain a circulation strategy 2131 based on the asset information 2113 of the data in the management module 211, and to obtain a usage strategy 2132 based on the usage requirement 2122 in the docking module 212. The circulation strategy 2131 is used to restrict the circulation process of the data 2111. The usage strategy 2132 is used to control the usage process of the data 2111.

[0096] In some possible implementations, the control module 213 may obtain the flow strategy 2131 in at least the following two implementations:

[0097] 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. Among them, 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.

[0098] In another specific implementation, the control module 213 sends the data asset information 2113 to the policy management module, and obtains the circulation 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. The policy management module uses the policy resources to set the specific content of the circulation policy 2131 based on the data asset information 2113, and then sends the set circulation policy 2131 to the control module 213.

[0099] 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 object, etc. For example, in the case where the created data includes two types of confidential data and non-confidential data, it is necessary to prohibit the confidential data from flowing to the outside, that is, only allow the confidential data to be stored in the first data entity or the first connection subsystem, and only provide it 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 opened 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 object of the data in the data circulation strategy to prevent the data from flowing to objects that do not meet the requirements.

[0100] It should be understood that the specific content of the above-mentioned circulation strategy 2131 is only used as an example and is not used as a specific limitation here.

[0101] In some possible implementations, corresponding to the above-mentioned method in which the control module 213 obtains the circulation strategy 2131, the control module 213 may also obtain the use strategy 2132 in at least the following two implementations:

[0102] In a specific implementation, the control module 213 obtains the policy resources from the policy management module, and then uses the policy resources to set the 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, 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 usage policy 2132 based on the usage requirement 2122.

[0103] In another specific implementation, the control module 213 sends the usage requirement 2122 to the policy management module, and obtains the 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 sets the specific content of the usage policy 2132 based on the usage requirement 2122 using policy resources, and then sends the set usage policy 2132 to the control module 213.

[0104] 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 time period (such as scheduled opening, expiration deletion); (2) usage scope: IP address of the device using the device; (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.

[0105] It should be understood that the specific content of the above-mentioned usage strategy 2132 is only used as an example and is not a specific limitation here.

[0106] 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 .

[0107] See also Figure 4 , Figure 4 is a schematic diagram of the structure of a computing device provided by this application. Figure 4 As shown, the computing device 22 includes a management module 221 , a docking module 222 , and a control module 223 .

[0108] 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, and 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, purpose, available time, etc. of the data 2211.

[0109] In some possible implementations, the docking module 222 is used to manage all data input to the connection system 20 and all data output from the connection system 20, and to perform data transmission with the docking module of another computing device of the connection system 20. To achieve the above data transmission, the docking module 222 needs to maintain the transmission protocol 2221 and the use requirement 2222. The transmission protocol 2221 can be SSL, TLS, etc. The use requirement 2222 includes the use time, use scope, use method, etc. of the data 2211.

[0110] In some possible implementations, the control module 223 is used to obtain a circulation strategy 2231 based on the asset information 2213 of the data in the management module 221, and to obtain a usage strategy 2232 based on the usage requirements 2222 in the docking module 222. The circulation strategy 2231 is used to restrict the circulation process of the data 2211. The usage strategy 2232 is used to control the usage process of the data 2211. The implementation method of the control module 223 obtaining the circulation strategy 2231 can refer to the above Figure 3 The implementation method of the control module 213 obtaining the circulation strategy 2131 and the implementation method of the control module 223 obtaining the use strategy 2232 can refer to the above Figure 3 The control module 213 obtains the implementation method of the usage policy 2132.

[0111] 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 .

[0112] See also Figure 5 , Figure 5 This is a schematic diagram of the structure of a database system provided by this application. Figure 5 As shown, the database system 23 includes a management module 231 , a docking module 232 and a control module 233 .

[0113] 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, format, etc. of the data 2311. The data asset information 2313 may include the type, size, format, purpose, available time, etc. of the data 2311.

[0114] In some possible implementations, the docking module 232 is used to manage all data input to the connection system 20 and all data output from the connection system 20, and to perform data transmission with the docking module of the database system of another connection system 20. To achieve the above data transmission, the docking module 232 needs to maintain the transmission protocol 2321 and the use requirement 2322. The transmission protocol 2221 can be SSL, TLS, etc. The use requirement 2322 includes the use time, use scope, use method, etc. of the data 2311.

[0115] In some possible implementations, the control module 233 is used to obtain the circulation strategy 2331 based on the asset information 2313 of the data in the management module 231, and to obtain the usage strategy 2332 based on the usage requirements 2322 in the docking module 232. The circulation strategy 2331 is used to limit the circulation process of the data 2311. The usage strategy 2332 is used to control the usage process of the data 2311. The implementation method of the control module 233 obtaining the circulation strategy 2331 can refer to the above Figure 3 The implementation method of the control module 213 obtaining the circulation strategy 2131 and the implementation method of the control module 233 obtaining the use strategy 2332 can refer to the above Figure 3 The control module 213 obtains the implementation method of the usage policy 2132.

[0116] 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 .

[0117] In some possible implementations, the connection system 20 (referred to as the first connection system) includes a first storage device, a first computing device, and a first database system. Another connection system 20 (referred to as the 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 first storage device can be connected to the second storage device to realize data transmission, or the first computing device can be connected to the second computing device to realize data transmission. Among them, 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; 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 can refer to the above Figure 3 The storage device 21 in the first management module and the third management module can refer to the above Figure 3 The management module 211 of the storage device 21, the first docking module, and the third docking module can refer to the above Figure 3 The docking module 212 of the storage device 21, the first control module and the third control module can refer to the above Figure 3 The control module 213 of the storage device 21 in the first computing device and the second computing device can refer to the above Figure 4 The computing device 22 in the second management module and the fourth management module can refer to the above Figure 4 The management module 221 of the computing device 22, the second docking module, and the fourth docking module can refer to the above Figure 4The docking module 222 of the computing device 22, the second control module, and the fourth control module can refer to the above Figure 4 The control module 223 of the computing device 22 in.

[0118] In the following, a first connection system is used to process the first data according to the instruction of the storage device of the first data, and a second connection system is used to process the first data according to the instruction of the demand device of the first data. The data transmission between the first storage device and the second storage device is taken as an example of data transmission between the two connection systems to specifically introduce a data circulation method. Among them, the storage device of the first data belongs to the first user, the demand device of the first data belongs to the second user, and the storage device and the demand device of the first data are different devices.

[0119] See also Figure 6 , Figure 6 This is a flow chart of a data circulation method provided by this application. Figure 6 As shown, the data circulation method provided by the present application includes:

[0120] S601: A first storage device establishes a first secure communication channel with a second storage device.

[0121] In some possible implementations, in order 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 Figure 3 The transmission protocol 2121 in the docking module 212.

[0122] 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.

[0123] S602: The first storage device creates first data and asset information of the first data, and obtains a first circulation strategy for the first data.

[0124] 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 may be Figure 3The storage device 21 in the first management module may be Figure 3 In the management module 211 of the storage device 21, the first data may be Figure 3 In the data 2111 in the management module 211, the description information of the first data can be Figure 3 The description information 2112 of the data in the management module 211, the asset information of the first data can be Figure 3 Asset information 2113 of data in management module 211.

[0125] In some possible implementations, the first storage device may obtain the first transfer strategy by referring to Figure 3 The control module 213 obtains the implementation method of the circulation strategy 2131.

[0126] S603: The first storage device publishes asset information of the first data.

[0127] In some possible implementations, the first storage device publishing the asset information of the first data may include at least the following two implementations:

[0128] 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 Figure 3 The docking module 212 of the storage device 21 is connected to the storage device 21.

[0129] In another specific implementation, the first docking module of the first storage device uploads the asset information of the first data to the data circulation service system, and the data circulation service system publishes the asset information of the first data to the outside of the first connection system. The data circulation service system may be a system established by an independent third-party organization, which is used to provide public services for data circulation, including authenticating user identities, authenticating device identities, providing trusted applications, managing data asset information, managing data keys, managing data transaction processes, auditing and tracing, etc.

[0130] S604: The second storage device sends a first use request to the first storage device based on the asset information of the first data. Correspondingly, the first storage device receives the first use request sent by the second storage device.

[0131] The second storage device may be Figure 3 The storage device 21 in.

[0132] In some possible implementations, the generation of the first use request may include at least the following two implementations:

[0133] In a specific implementation, after the second storage device receives the asset information of the first data published by the first storage device, the third control module of the second storage device generates a first use request based on the asset information of the first data, and sends the first use request to the first storage device. The third control module may be Figure 3 The control module 213 of the storage device 21 is stored in the storage device 21.

[0134] In another specific implementation, after the data user receives the asset information of the first data published by the first storage device through the application in the second computing device, the data user uses the application to generate a first data request. Alternatively, when using the application in the second computing device, the data user matches the data that 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 after 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 Figure 4 The computing device 22 in.

[0135] S605: The first storage device determines whether the first use request and the first data comply with the first transfer policy.

[0136] In some possible implementations, the first usage request includes identity information of the data user, identity information of the second storage device, identity information of the second computing device, request content, requested usage time, requested usage scope, requested usage method, etc.

[0137] In some possible implementations, the first storage device determines whether the first use request complies with the first transfer policy, including:

[0138] (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 (such as certificate, trusted credentials) of the data user in the first use request, the identity information (such as device certificate) of the second storage device, and the identity information (such as device certificate) of the second computing device in the first use request 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 Figure 3 The control module 213 of the storage device 21 is stored in the storage device 21.

[0139] (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 regulations."

[0140] (3) Verify whether the request is reasonable. The first data usage information is set in the first circulation strategy, and the first control module of the first storage device determines whether the request requirements in the first usage request (such as the requested usage time, requested usage scope, requested usage method, etc.) match the usage information set in the first circulation strategy. If they match, it indicates that the request is reasonable; if they do not match, it indicates that part of the request is unreasonable, and the first storage device informs the data user of the unreasonable part of the request.

[0141] It should be understood that the specific content of the above verification of the first use request is only an example and is not a specific limitation here.

[0142] It should be understood that the present technical solution can first execute the above-mentioned step S601, and then execute the operation of the above-mentioned first storage device determining whether the first usage request complies with the first circulation policy; or it can first execute the operation of the above-mentioned first storage device determining 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.

[0143] In some possible implementations, the first storage device determines whether the first data complies with the first transfer policy, including:

[0144] (1) Check the type of the first data. The first circulation policy specifies the type of data that is 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 specified in the first circulation policy. If it does not exceed the specification, it indicates that all the contents of the first data can be transmitted to the second storage device; if it exceeds the specification, it indicates that some data in the first data cannot be transmitted to the second storage device, and the first storage device will inform the data user of the part of the data that cannot be transmitted. For example, the first circulation policy specifies 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 specification, and the first storage device will inform the data user that "the first data cannot be sent because it contains sensitive data."

[0145] (2) Checking the estimated sending time of the first data. The first circulation strategy specifies the available time period of the first data, and the first control module of the first storage device determines whether the estimated sending time of the first data exceeds the provisions of the available time period in the first circulation strategy. If it does not exceed the provisions, it indicates that the first data can be transmitted to the second storage device at the estimated sending time; if it exceeds the provisions, it indicates that the first data cannot be transmitted to the second storage device at the estimated sending time, and the first storage device refuses to send the first data to the second storage device and informs the data user.

[0146] It should be understood that the specific content of the above-mentioned checking of the first data is only used as an example and is not a specific limitation here.

[0147] In summary, the first transfer strategy can check the first use request and the first data, thereby controlling the first storage device to send the first data.

[0148] In some possible implementations, in addition to the above-mentioned need for the first storage device to determine whether the first data complies with the first circulation policy after receiving the first use request, before each data transfer to the second storage device, the first storage device needs to determine whether the data complies with the data circulation policy to avoid data leakage during the circulation process.

[0149] S606: The first storage device obtains a first usage policy for the first data.

[0150] In some possible implementations, the first usage policy is obtained based on the usage requirement. Specifically, after establishing the first secure communication channel in 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 requirement 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 requirement. The usage requirement can be Figure 3In the usage requirement 2122 of the docking module 212, the implementation method of the first control module obtaining the first usage strategy can refer to Figure 3 The implementation method of the control module 213 obtaining the usage policy 2132 will not be elaborated here for the sake of brevity.

[0151] In some possible implementations, the first flow policy may be obtained through the above step S602, or may be obtained based on the flow requirements. Specifically, after establishing the first secure communication channel in the above 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. Among them, the process of the first control module obtaining the first flow policy based on the flow requirements is: 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.

[0152] S607: 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 through 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 through the first secure communication channel.

[0153] 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:

[0154] In a specific implementation, inside the first storage device, the first docking module obtains the first data from the first management module, obtains the first usage policy from the first control module, binds the first data and the first usage policy (for example, puts the first usage policy into the metadata of the first data, puts the link of the first usage policy into the first data so that the first usage policy must be accessed before accessing the first data, etc.), that is, realizes the mutual association between the first data and the first usage policy, and then sends the bound first data and the first usage policy to the third docking module of the second storage device through the first secure communication channel. Specifically, the first docking module of the first storage device can send the first data first and then send the first usage policy; it can also send the first usage policy first and then send the first data; it can also send the first data and the first usage policy together.

[0155] 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.

[0156] 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.

[0157] 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.

[0158] It should be understood that the above-mentioned manner of binding or packaging the first data and the first usage policy is merely an example and is not specifically limited here.

[0159] 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.

[0160] 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.

[0161] In some possible implementations, a data user generates a first data request when using an application in a second computing device, corresponding to the first data request generated in the above step S603. Subsequently, the second computing device sends the first data request to the second storage device. After 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. Thus, the second computing device controls the acquisition behavior of the first data in the third management module. In particular, in the case where the first usage policy is encapsulated, the first usage policy is first decapsulated and then the first usage policy is executed. For example, if the first usage policy specifies the 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. When the number of accesses to the first data by the second computing device exceeds the specified number of accesses, the third control module prohibits the access operation of the second computing device. Alternatively, if the first usage policy specifies the reading period of the first data, the third control module records the reading time of the first data by the second computing device. When the second computing device continues to read the first data outside the specified reading period, the third control module prohibits the reading operation of the second computing device. In summary, 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.

[0162] It should be understood that the sending object of the second storage device in the above step S608 is only an example and is not specifically limited here. For example, the second storage device can also send the first data and the first usage policy to the second database system when executing the first usage policy on the first data. The second database system can be Figure 5 Database system in 23.

[0163] S609: The second computing device uses the first data while executing the first usage policy.

[0164] 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 first data by the application in the second computing device, 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 first data by the application in the second computing device 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 Figure 4 The control module 223 of the computing device 22.

[0165] In a specific implementation, the new data generated during the application's use of the first data also needs to comply with the specific content of the first usage policy, that is, any new data generated by the second computing device's processing of the first data will be bound to the first usage policy. For example, if the first usage policy specifies the IP address of the device that uses the first data, the new data can only be used in the specified device.

[0166] In some possible implementations, the computing device of the connection system has a secure computing environment, wherein the secure computing environment is a secure isolation environment for protecting the security of the computing device. Therefore, the first computing device has a first secure computing environment, and the 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, calculation, copying, forwarding, and other behaviors to the first data. In this way, the security of the execution process of the first usage policy and the security of the use process of the first data can be protected with the help of the second secure computing environment.

[0167] In some possible implementations, the second secure computing environment may include at least the following three implementations:

[0168] In a 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, when the second computing device has an operating system, during the process of the application 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 to the outside of the application, or even to the outside of the second computing device. Alternatively, the fourth control module changes the settings of the application so that the application closes the data input interface and data output interface of the application during the process of using the first data, thereby preventing the first data from flowing to the outside of the application.

[0169] 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 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.

[0170] In another specific implementation, a virtual machine or container is installed 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 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.

[0171] 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 specifically limited here.

[0172] In some possible implementations, when the first data obtained from the second storage device is a ciphertext, the fourth control module decrypts the ciphertext and provides the decrypted first data to the application for use. After the use process of the first data is completed, the fourth control module encrypts the first data and the new data generated during the use process to form a 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 the ciphertext format outside the use process.

[0173] It should be understood that the first usage policy executed by the second computing device and the first data provided to the application for use in the above step S609 are from the second storage device only as an example and are not specifically limited here. The first usage policy executed by the second computing device and the first data provided to the application for use may also come from the second database system. Moreover, the first usage policy may arrive at the second computing device earlier than 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 come from the second storage device.

[0174] 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.

[0175] 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 behavior of the first data in the second storage device and the use behavior 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 use 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:

[0176] In a specific implementation, the second computing device may directly send the first usage record to the first computing device. The first computing device may store the received first usage record in the first storage device, the first computing device, or the first database system. The first database system may be Figure 5 Database system in 23.

[0177] In another specific implementation, the second computing device may upload the first usage record to the data circulation service system, and the first computing device may download the first usage record from the data circulation service system. In addition, the first computing device may also audit, identify risks, and perform traceability analysis on the usage behavior of the data user in the data circulation service system according to the first usage record. The data circulation service system is the data circulation service system in the above step S602.

[0178] 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 reliability of the first usage record.

[0179] It should be understood that in the above embodiment, the data transmission between the first storage device and the second storage device is only an example of the data transmission between the first connection system and the second connection system, and is not specifically limited here. For example, the data transmission between the first connection system and the second connection system can also be realized by realizing the data transmission between the first computing device and the second computing device.

[0180] If data transmission is implemented between the first computing device and the second computing device, the operations performed by the first storage device in steps S601, S602, S603, S604, S605, S606, and S607 in the above embodiment 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, the operations performed by the second storage device in steps S603, S605, and S607 in the above embodiment 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, the second computing device directly uses the first data while executing the first usage policy, that is, 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.

[0181] It should be understood that data transmission between the first connection system and the second connection system can also be achieved by achieving data transmission between the first database system and the second database system. If data transmission is achieved between the first database system and the second database system, the operations performed by the first storage device in steps S601, S602, S603, S604, S605, S606, and S607 in the above embodiment 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. Correspondingly, the operations performed by the second storage device in steps S603, S605, and S607 in the above embodiment 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. The first database system and the second database system can refer to the above Figure 5 The database system 23 in the fifth management module and the sixth management module can refer to the above Figure 5 The management module 231 of the database system 23, the fifth docking module, and the sixth docking module can refer to the above Figure 5 The docking module 232 of the database system 23, the fifth control module and the sixth control module can refer to the above Figure 5 The control module 233 of the database system 23 in.

[0182] In summary, by implementing the embodiments of the present application, the following advantages are achieved:

[0183] On the first aspect, the internal structure of the connection system and the method for two connection systems to realize data circulation based on their internal structure are provided, so that the process of first data circulation from the data owner to the data user, including the creation of first data, the release of asset information, the determination of first use policy, the transmission of first data, the storage of first data, the use of first data, the monitoring of the use of first data and other stages of data circulation, can be guaranteed to be safe and reliable. Therefore, the embodiment of the present application provides a practical solution to ensure the safe circulation of first data between any two data entities and avoid the occurrence of problems such as data abuse and data leakage during the circulation process.

[0184] Secondly, compared to directly sending the first data to the device that requires the first data, which results in the inability to control the use of the first data in the device that requires the first data, the 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, and use of the first data are always subject to the constraints of the first usage policy, thereby being able to securely control the use behavior of data users and ensure the security of the first data during circulation.

[0185] Thirdly, the storage devices based on the two connection systems can realize the secure transmission of the first data, so that when the application on the second computing device needs to use the first data, it can directly access the first data in the second storage device in the same connection system without changing the original use behavior of the application on the second computing device for the first data. This makes it easier for data users to directly deploy applications without having to make major adjustments to the applications in order to use the first data, thereby improving the circulation performance of the first data in multiple applications.

[0186] Fourthly, the first circulation strategy is used to verify the rationality of the first use request of the data user, and the first circulation strategy is used to check the compliance of the first data, so as to control the circulation process of the first data, thereby ensuring the security of the first data during the circulation process. Moreover, only when the first use strategy is executed can the access, acquisition, and use of the first data be supported, so that the use behavior of the data user can be safely controlled, thereby ensuring the security of the first data during the circulation process.

[0187] 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.

[0188] Based on the aforementioned first connection system, second connection system and the aforementioned data circulation method, the first connection system is used to process the first data according to the instructions of the storage device of the first data, and the second connection system is used to process the first data according to the instructions of the device that requires the first data, and the data transmission between the first storage device and the second storage device is used as an example of data transmission between the first connection system and the second connection system. In addition, the third connection system is used to process the second data according to the instructions of the storage device of the second data, and the first connection system is used to process the second data according to the instructions of the device that requires the second data, and the data transmission between the third storage device and the first storage device is used as an example of data transmission between the third connection system and the first connection system, and another data circulation method is specifically introduced. Among them, the device that requires the second data and the storage device of the first data are different devices, or the device that requires the second data and the storage device of 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 the above Figure 3 The storage device 21 in the third computing device can refer to the above Figure 4 The computing device 22 in the third database system can refer to the above Figure 5 Database system in 23.

[0189] See also Figure 7 , Figure 7 This is a flow chart of another data circulation method provided by this application. Figure 7 As shown, the data circulation method provided by the present application includes:

[0190] S701: A first storage device establishes a first secure communication channel with a second storage device.

[0191] S702: The first storage device creates first data and asset information of the first data, and obtains a first circulation strategy for the first data.

[0192] S703: The first storage device publishes asset information of the first data.

[0193] S704: The second storage device sends a first use request to the first storage device based on the asset information of the first data. Correspondingly, the first storage device receives the first use request sent by the second storage device.

[0194] S705: The first storage device determines whether the first use request and the first data comply with the first transfer policy.

[0195] S706: The first storage device obtains a first usage policy for the first data.

[0196] S707: When determining that the first use request and the first data comply with the first circulation policy, the first storage device sends the first data and the first use policy to the second storage device through the first secure communication channel. Correspondingly, the second storage device receives the first data and the first use policy sent by the first storage device through the first secure communication channel.

[0197] 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.

[0198] S709: The second computing device uses the first data while executing the first usage policy.

[0199] 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.

[0200] The execution process of the above steps S701 to S710 can refer to the above Figure 6 The execution process of step S601 to step S610 will not be elaborated here for the sake of brevity of the description.

[0201] S711: The third storage device establishes a second secure communication channel with the first storage device.

[0202] S712: The third storage device creates the second data and the asset information of the second data, and obtains a second circulation strategy for the second data.

[0203] S713: The third storage device publishes the asset information of the second data.

[0204] S714: The first storage device sends a second use request to the third storage device based on the asset information of the second data. Correspondingly, the third storage device receives the second use request sent by the first storage device.

[0205] S715: The third storage device determines whether the second use request and the second data comply with the second transfer policy.

[0206] S716: The third storage device obtains a second usage policy for the second data.

[0207] S717: When determining that the second usage request and the second data comply with the second circulation policy, the third storage device sends the second data and the second usage policy to the first storage device through 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 through the second secure communication channel.

[0208] S718: The first storage device sends the second data and the second usage policy to the first computing device when 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.

[0209] S719: The first computing device uses the second data while executing the second usage policy.

[0210] 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, so that the security of the execution process of the second usage policy and the security of the use process of the second data can be protected by the first secure computing environment. Figure 6 The implementation method of the second computing environment in step S609.

[0211] 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.

[0212] The execution process of the above steps S711 to S720 can refer to the above Figure 6 The execution process of step S601 to step S610 will not be elaborated here for the sake of brevity of the description.

[0213] It should be understood that the present technical solution can first execute the above steps S701 to S710, and then execute the above steps S711 to S720; can also first execute the above steps S711 to S720, and then execute the above steps S701 to S710; can also cross-execute the steps in the above steps S701 to S710 and the steps in the above steps S711 to S720, for example, first execute the above step S701, then execute the above step S711, then execute the above step S702, and then execute the above step S712... or, first execute the above steps S711, S712, S713, then execute the above steps S701, S702, S703, then execute the above steps S714, S715, S716, and then execute the above steps S704, S705, S706...

[0214] It should be understood that in the above embodiment, the data transmission between the third storage device and the first storage device is only an example of the data transmission between the third connection system and the first connection system, and is not specifically limited here. For example, the data transmission between the third computing device and the first computing device can also be realized, or the data transmission between the third database system and the first database system can also be realized, so as to realize the data transmission between the third connection system and the first connection system. For the sake of brevity of the specification, it will not be elaborated here.

[0215] See also Figure 8 , Figure 8 Schematic diagram of a data circulation system provided by the present application. The data circulation system can be used to implement the aforementioned data circulation method. Figure 8 As shown, the data flow 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.

[0216] The first management module 811 is used to obtain source data from a storage device and generate first data based on the source data;

[0217] The first control module 812 is used to obtain a first circulation strategy and a first use strategy of the first data;

[0218] The first docking module 813 is used to send the first data and the first usage policy to the second storage device 820 when it is determined that the first data conforms to the first circulation policy;

[0219] The third docking module 821 is used 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;

[0220] The third control module 822 is used to send the first data and the first usage policy to the second computing device to control the use of the first data by the second computing device when the first usage policy is executed on the first data.

[0221] Among them, the first usage strategy is a strategy 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.

[0222] 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.

[0223] 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;

[0224] 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.

[0225] 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 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.

[0226] 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.

[0227] See also Fig. 9 , Fig. 9 FIG. 1 is a schematic diagram of another data circulation system provided by the present application. The data circulation system can be used to implement the aforementioned data circulation method. Fig. 9 As shown, the data flow 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.

[0228] The second management module 911 is used to obtain source data from a storage device and generate first data based on the source data;

[0229] The second control module 912 is used to obtain a first circulation strategy and a first use strategy of the first data;

[0230] The second docking module 913 is used to send the first data and the first usage policy to the second computing device 920 when it is determined that the first data conforms to the first circulation policy;

[0231] The fourth docking module 921 is used 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;

[0232] The fourth control module 922 is used to use the first data while executing the first use policy.

[0233] Among them, the first usage strategy is a strategy instructing 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, and 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 device demanding the first data, and the device demanding the first data belongs to the second user. The storage device and the device demanding the first data are different devices.

[0234] 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 circulation policy.

[0235] In some possible implementations, the second computing device 920 has a second secure computing environment, and the fourth control module 922 is specifically used to execute the first usage policy on the first data in the second secure computing environment, generate the first usage record, and upload the first usage record to the first computing device 910, so as to control the use of the first data by the application on the second computing device 920. Among them, 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 isolation environment, which is used to protect the security of the second computing device 920, the security of the execution process of the first usage policy, and the security of the use process of the first data, and is achieved by closing the data input interface and the data output interface 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.

[0236] 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.

[0237] In some possible implementations, the second docking module 913 is further used to receive the second data and the second use policy of the second data sent by the third computing device, and execute the second use 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 used to process the second data according to the instruction of the device requiring the second data, and 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.

[0238] In some possible implementations, the first computing device 910 has a first secure computing environment, and the second control module 912 is specifically used to execute the second usage policy on the second data in the first secure computing environment, generate the second usage record, and upload the second usage record to the third computing device, thereby controlling the use of the second data by the first computing device 910. The second usage record is a record of the use of the second data by the first computing device 910. The first secure computing environment is a secure isolation environment used to protect the security of the first computing device 910, the security of the execution process of the second usage policy, and the security of the use process of the second data, which is achieved by closing the data input interface and the data output interface 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.

[0239] 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 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.

[0240] 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.

[0241] See also Fig.10 , Fig.10 1 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 may 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 may also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0242] like Fig.10As shown, the computing device cluster includes at least one computing device 1000 .

[0243] The computing device 1000 includes: a bus 1001, a processor 1002, a memory 1003 and a communication interface 1004. The processor 1002, the memory 1003 and the communication interface 1004 communicate with each other via the bus 1001. It should be understood that the present application does not limit the number of processors and memories in the computing device 1000.

[0244] The bus 1001 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.10 The bus 1001 is represented by only one line, but it does not mean that there is only one bus or one type of bus. The bus 1001 may include a path for transmitting information between various components of the computing device 1000 (for example, the memory 1003, the processor 1002, and the communication interface 1004).

[0245] The processor 1002 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0246] 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).

[0247] The memory 1003 stores executable program codes, and the processor 1002 executes the executable program codes to respectively implement the functions of the management module 221, the docking module 222, and the control module 223 of the aforementioned computing device 22, thereby implementing the operations implemented by the first computing device, the operations implemented by the second computing device, or the operations implemented by the third computing device in the aforementioned data circulation method. That is, the memory 1003 stores instructions for the first computing device, the second computing device, or the third computing device to execute the data circulation method.

[0248] 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.

[0249] 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.

[0250] 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 may jointly execute instructions for executing the data circulation method.

[0251] It should be noted that the memory 1003 in different computing devices 1000 in the computing device cluster can store different instructions, which are respectively used to execute part of the functions of the aforementioned computing device 22. That is, the instructions stored in the memory 1003 in different computing devices 1000 can implement the functions of one or more modules of the aforementioned management module 221, docking module 222 and control module 223.

[0252] See also Fig.11 , Fig.11 FIG. 1 is a schematic diagram of another computing device cluster provided by the present application. In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network. The network may be a wide area network or a local area network, etc. Fig.11 As shown, two computing devices 1000A and 1000B are connected via a network. Specifically, they are connected to the network via a 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.

[0253] Fig.11The connection method between the computing device clusters shown may be based on the consideration that the data circulation method provided by the present application requires a large amount of data storage, and therefore it is considered that the functions implemented by the management module 221 are handed over to the computing device 1000A for execution.

[0254] It should be understood that Fig.11 The functions of the computing device 1000A shown in FIG. 1000A 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.

[0255] The present application embodiment also provides another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similar to that of Fig.10 and Fig.11 The connection mode of the computing device cluster is different in that 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.

[0256] See also Fig.12 , Fig.12 1 is a schematic diagram of the structure of a storage device cluster provided by the present application. The storage device cluster provided by the present application includes at least one storage device. The storage device may 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 may also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0257] like Fig.12 As shown, the storage device cluster includes at least one storage device 1200 .

[0258] 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.

[0259] The bus 1201 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.12The bus 1201 is represented by only one line, but it does not mean that there is only one bus or one type of bus. The bus 1201 may include a path for transmitting information between various components of the storage device 1200 (for example, the memory 1203, the processor 1202, and the communication interface 1204).

[0260] The processor 1202 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0261] 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).

[0262] The memory 1203 stores executable program codes, and the processor 1202 executes the executable program codes to respectively implement the functions of the management module 211, the docking module 212, and the control module 213 of the aforementioned storage device 21, thereby implementing the operations implemented by the first storage device, the operations implemented by the second storage device, or the operations implemented by the third storage device in the aforementioned data circulation method. That is, the memory 1203 stores instructions for the first storage device, the second storage device, or the third storage device to execute the data circulation method.

[0263] 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.

[0264] 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.

[0265] 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 instructions for executing the data circulation method.

[0266] It should be noted that the memory 1203 in different storage devices 1200 in the storage device cluster can store different instructions, which are respectively used to execute part of the functions of the aforementioned storage device 21. That is, the instructions stored in the memory 1203 in different storage devices 1200 can implement the functions of one or more modules of the aforementioned management module 211, docking module 212 and control module 213.

[0267] See also Fig.13 , Fig.13 FIG. 1 is a schematic diagram of another storage device cluster provided by the present application. In some possible implementations, one or more storage devices in the storage device cluster may be connected via a network. The network may be a wide area network or a local area network, etc. Fig.13 As shown, 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.

[0268] Fig.13 The connection method between the storage device clusters shown may be considered to be that the data circulation method provided by the present application requires a large amount of data to be stored, and therefore the functions implemented by the management module 211 are considered to be executed by the storage device 1200A.

[0269] It should be understood that Fig.13 The function of the storage device 1200A shown in FIG. 1 may also be completed by multiple storage devices 1200. Similarly, the function of the storage device 1200B may also be completed by multiple storage devices 1200.

[0270] The present application embodiment also provides another storage device cluster. The connection relationship between the storage devices in the storage device cluster can be similar to that of Fig.12 and Fig.13 The connection mode of the storage device cluster is different in that 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.

[0271] The embodiment of the present application also provides a computer program product including instructions. The computer program product may be a software or program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the aforementioned data circulation method or another aforementioned data circulation method.

[0272] 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 containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). 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.

[0273] 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, and it is not a limited time, nor does it require the terminal device or access network device to make a judgment when implementing it, nor does it mean that there are other limitations.

[0274] 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 it. 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 cause the essence of the corresponding technical solutions to deviate 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

Cited By

  • Data circulation method, apparatus and system

    EP4770009A1

  • Data circulation method, apparatus and system

    WO2025055783A1