Data management method and data management system of a distributed system
By using a data management device in a distributed system to uniformly manage the operations of data objects, the complexity of data management at different hardware levels in the visual AI platform is solved, and the data transfer within, between, and between devices is simplified and unified.
Patent Information
- Application Number
- CN201911312235.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-12-18
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2040-02-22
AI Technical Summary
Centralized management of data from different software and hardware levels, especially in visual AI platforms, requires both providing visual AI-related software services and integrating products from different hardware manufacturers, leading to high data management complexity and a high risk of errors.
The system adopts a distributed data management approach and system, using a data management device as a medium to uniformly manage the creation, acquisition, update, and deletion of data objects, and only transmits the attributes of data objects, simplifying the data transfer process within processes, between processes, and between devices.
It effectively unified the means of data transmission, reduced the complexity of data interaction in distributed systems, simplified the data management process, and improved the efficiency and accuracy of data transmission.
Smart Images

Figure CN112988341B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data communication, and in particular to a data management method and a data management system. BACKGROUND
[0002] "Soft and hardware integration" or "software and hardware combination" is becoming a new trend in visual artificial intelligence. In the past, visual artificial intelligence vendors provided more services at the software platform level. Users called API interfaces and the like to realize face recognition, accurate positioning and the like. Now, the service mode based on the software platform is changing. Some vendors who used to provide such services have begun to enter the hardware industry and develop and provide terminal hardware products such as intelligent cameras. In the visual AI platform, it is necessary to provide visual AI-related software services upward and provide product access methods for different hardware vendors downward. This has derived a large amount of data from the software and hardware levels.
[0003] In view of this, how to centrally manage data from different software and hardware levels has become a problem to be solved in the field. SUMMARY
[0004] To this end, the present application provides a data management method and a data management system of a distributed system to try to solve or at least alleviate at least one of the above problems.
[0005] According to one aspect of the present application, a data management method of a distributed system is provided, comprising the steps of: receiving an application request for a data object from a first requestor, the application request containing attributes of the data object; creating the data object according to the attributes, the data object including the attributes and data; obtaining data content pointed to by the attributes from the first requestor to fill the data content into the data of the data object; and when receiving an obtaining request containing the attributes of the data object from a second requestor, sending the data of the data object to the second requestor according to the attributes of the data object, wherein the attributes of the data object contained in the obtaining request are obtained by the second requestor from the first requestor.
[0006] Optionally, in the method according to the present application, the step of obtaining the content pointed to by the attributes from the first requestor to fill the content into the data of the data object further comprises: recording management information of the data object.
[0007] Optionally, in the method according to the present application, the management information of the data object includes one or more of the following information: creation information of the data object, usage information of the data object, and update information of the data object.
[0008] Optionally, in the method according to the present application, the step of sending the data of the data object to the second requester according to the attribute of the data object further comprises: recording the usage information of the data object.
[0009] Optionally, the method according to the present application further comprises the steps of: updating the data of the data object when receiving an update request for the data object; and recording the update information of the data object.
[0010] Optionally, the method according to the present application further comprises the step of: updating the usage information of the data object when receiving a deletion request for the data object.
[0011] Optionally, in the method according to the present application, the step of updating the usage information of the data object when receiving a deletion request for the data object comprises: deleting one piece of usage information corresponding to the data object each time a deletion request for the data object is received; and deleting the data object when all the usage information of the data object is deleted.
[0012] Optionally, in the method according to the present application, the first requester and the second requester are different processes arranged in the same device, or the first requester and the second requester are processes arranged in different devices.
[0013] Optionally, in the method according to the present application, the attribute of the data object comprises the type and size of the data object.
[0014] Optionally, in the method according to the present application, the step of sending the data of the data object to the second requester according to the attribute of the data object further comprises: sending the encrypted data of the data object to the second requester according to the attribute of the data object.
[0015] According to another aspect of the present application, there is provided a data management system arranged in a distributed system, comprising: a plurality of data request devices and a data management device, wherein the plurality of data request devices are respectively coupled with the data management device, and each of the data request devices comprises: a communication module adapted to communicate with the data management device or other data request devices, a creation module adapted to send a creation request to the data management device via the communication module to request creation of a data object, the data object comprising attributes and data, and a reference module adapted to send an acquisition request to the data management device via the communication module to request acquisition of the data object. The data management device comprises: a communication unit adapted to receive a creation request of a data object from a data request device, the creation request comprising attributes of the data object, and further adapted to acquire data content pointed by the attributes from the data request device, a data object storage unit adapted to create the data object according to the attributes, and further adapted to fill the data content into the data of the data object, and the communication unit is further adapted to send the data of the data object to other data request devices according to the attributes of the data object when receiving an acquisition request comprising the attributes of the data object from the other data request devices, wherein the attributes of the data object comprised in the acquisition request are acquired from the data request device by the other data request devices.
[0016] Optionally, in the data management system according to the present application, the data management device further comprises: a data object management unit adapted to record management information of the data object, wherein the management information of the data object comprises one or more of the following information: creation information of the data object, usage information of the data object, and update information of the data object.
[0017] Optionally, in the data management system according to the present application, in the data management device, the data object storage unit is further adapted to update the data of the data object when receiving an update request of the data object, and the data object management unit is further adapted to record the update information of the data object.
[0018] Optionally, in the data management system according to the present application, in the data management device, the data object management unit is further adapted to update the usage information of the data object when receiving a deletion request of the data object.
[0019] According to another aspect of the present application, there is provided a computing device comprising: one or more processors; memory; one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs comprise instructions for performing any of the methods as described above.
[0020] According to yet another aspect of the present application, there is provided a computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computing device, cause the computing device to perform any of the methods as described above.
[0021] According to the solution of the present application, when data is transferred in a distributed system, both the owner of the data object (the first requestor and the second requestor) and the manager of the data object (the data management device) communicate with each other. When the owner of the data object and the manager of the data object transfer information, only the attributes of the data object (such as type, size, etc.) are transferred. The operations of the owner of the data object, such as creation, acquisition, update, and destruction of the data object, are all completed by the manager of the data object. In this way, the means of data transfer is effectively unified, and the complexity of data transfer in various scenarios (in-process, inter-process, and inter-device) is greatly simplified. BRIEF DESCRIPTION OF DRAWINGS
[0022] To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings. These aspects are indicative of various ways in which the principles disclosed herein can be practiced and all aspects and equivalents thereof are intended to be within the scope of the claimed subject matter. The above- and other objectives, features and advantages of the disclosure will be apparent from the following detailed description
[0023] Figure 1 A schematic diagram of a data management system 100 according to an embodiment of the present application is shown;
[0024] Figure 2 A schematic diagram of a computing device 200 according to an embodiment of the present application is shown; and
[0025] Figure 3 A flowchart of a data management method 300 according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0026] Exemplary embodiments of the present disclosure will be described hereinafter with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown, it should be understood that the present disclosure can be embodied in various forms without being limited by the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present disclosure to those skilled in the art.
[0027] Figure 1A schematic diagram of a data management system 100 according to an embodiment of the present application is shown. The data management system 100 is arranged in a distributed system. The distributed system is composed of a plurality of computing devices 200 (such as the computing devices 200-2, 200-3 shown in Figure 1 FIG. 1), each of which has a plurality of processes for processing. When a task enters the distributed system, the instructions of the task are distributed to the processes in the computing devices 200 for execution. During the execution, a process can need data from other processes or other computing devices 200 when executing the instructions of the task. Therefore, how to transfer data among different processes, between processes, and between computing devices 200 is very important.
[0028] In a conventional distributed system, the methods for transferring data among processes, between processes, and between computing devices 200 are different, resulting in inconsistent operations, great development difficulty, and errors. In addition, as described in the background, in a visual AI platform, the distributed system also needs to consider how to centrally manage data from different software and hardware layers.
[0029] In view of this, in the data management system 100 according to the present application, a data management apparatus 110 (which can be implemented as a functional module in the computing device 200-1, but is not limited thereto) connected to each computing device 200 is arranged to serve as a medium for exchanging data among processes in the computing device and between computing devices, so as to reduce the coupling of the data interaction process in the distributed system.
[0030] As shown in Figure 1 , the data management system 100 includes a data management apparatus 110 and a data request apparatus 120 coupled to each other. Generally, in a data management system 100, at least one data management apparatus 110 and a plurality of data request apparatuses 120 (such as the system 100 shown in Figure 1 , which includes two data request apparatuses 120 and one data management apparatus 110) are arranged. Each data request apparatus 120 is connected to the data management apparatus 110, and the data request apparatuses 120 are also connected to each other. It should be pointed out that Figure 1 only as an example, the number of data management apparatuses 110 and data request apparatuses 120 included in the system 100 is not limited in the embodiments of the present application.
[0031] In the embodiments of the present application, the data request apparatus 120 can act as both a sender and a receiver of data. Continuing to refer to Figure 1 , the data request apparatus 120 includes a creation module 122, a reference module 124, and a communication module 126.
[0032] The creation module 122 is configured to generate a request for creating a data object and send the request to the data management device 110 via the communication module 126. The reference module 124 is configured to generate a request for obtaining a data object and send the request to the data management device 110 via the communication module 126. The communication module 126 is mainly responsible for the communication between the data request device 120 and the data management device 110 and other data request devices 120.
[0033] In an embodiment according to the present application, the data request device 120 and the data management device 110 are both designed as Linux processes, and the communication process is a remote procedure call (RPC) between processes.
[0034] According to an embodiment of the present application, the data object comprises attributes and data. The attributes of the data object are the description information of the data, which generally include the type and size of the data object, but are not limited thereto. The type points to the storage type of the data (e.g. global memory, device local memory, etc.). The data of the data object generally stores the content of the data, which can be user input, device data, file, etc.
[0035] The data management device 110 comprises a communication unit 112 and a data object storage unit 114.
[0036] The communication unit 112 receives the request for creating a data object from the data request device 120, more specifically, from the creation module 122 in the data request device 120. Optionally, the request comprises the attributes of the data object.
[0037] The data object storage unit 114 creates the data object according to the attributes. Optionally, the data object is created based on the type and size defined in the attributes.
[0038] Then, the communication unit 112 further obtains the data content pointed by the attributes from the data request device 120. According to an embodiment of the present application, the data content pointed by the attributes can be the data itself or a link address pointing to the data, which is not limited in the embodiments of the present application and can be set according to the type of the data. The data object storage unit 114 fills the data content into the data of the data object.
[0039] Further, when the data request device 120 creates a data object on the data management device 110 through the creation module 122, it notifies other data request devices 120 connected thereto. In one embodiment, the data request device 120 sends the attributes of the created data object to other data request devices 120. In this way, when other data request devices 120 want to refer to the data, they directly send a retrieval request for the data object to the data management device 110, and acquire the data through the data management device 110.
[0040] Specifically, the communication unit 112, upon receiving a retrieval request for a data object from the reference module 124 of other data request devices 120 (the retrieval request usually contains the attributes of the data object), sends the data of the data object to the other data request devices 120 according to the attributes of the data object. As described above, the attributes of the data object contained in the retrieval request are acquired by other data request devices 120 from the data request device 120.
[0041] Further, in some embodiments, in addition to the communication unit 112 and the data object storage unit 114, the data management device 110 further comprises a data object management unit 116. The data object management unit 116 is used to record the management information of the data object.
[0042] According to the embodiments of the present application, the management information of the data object at least comprises one or more of the following information: creation information of the data object (e.g. the information of the data request device that created the data object), usage information of the data object (e.g. the information of the data request device that uses the data object), update information of the data object (e.g. the update version).
[0043] In one embodiment according to the present application, when any data request device 120 in the system 100 wants to update a data object, it sends an update request to the data management device 110 through the communication module 126. At this time, the data object storage unit 114 receives the update request for the data object, and updates the data of the data object. Meanwhile, the data object management unit 116 records the update information of the data object, e.g. the update version.
[0044] In another embodiment according to the present application, when any data request device 120 in the system 100 wants to delete a data object, it sends a deletion request to the data management device 110 through the communication module 126. At this time, the data object management unit 116 receives the deletion request for the data object, and updates the usage information of the data object. Specifically, the data object management unit 116 deletes one piece of usage information corresponding to the data object each time it receives a deletion request for the data object, and deletes the data object when all the usage information of the data object is deleted.
[0045] Suppose that the data object data1 is created by the data request device A, and the data request devices B and C both acquire the data object data1 from the data management device 110, then the data object data1 has three pieces of usage information, and the corresponding devices are the data request devices A, B and C respectively. When the data request device B sends a deletion request for deleting the data object data1 to the data management device 110, the data management device 110 deletes the usage information corresponding to the data request device B. Then, if the data management device 110 receives a deletion request from the data request device A, the usage information corresponding to the data request device A is deleted. Finally, when the data management device 110 receives a deletion request from the data request device C, the last piece of usage information corresponding to the data object data1 is deleted, and the data object data1 is deleted.
[0046] According to the embodiments of the present application, the data management device 110 can be arranged as one or more servers located in one or more sites. The data request device 120 can be included in a smart device, can be the same process arranged in one device, can be different processes arranged in one device, or can be processes arranged in different devices, without being limited thereto. These devices communicate with the data management device 110 so as to facilitate the data management device 110 to provide the operation method of the data object for each data request device 120, and to uniformly manage the data in the devices.
[0047] According to the embodiments of the present application, when the data transfer between processes is to be implemented, the creation module 122 and the reference module 124 in the same process can communicate with the data management device 110. When the data transfer between processes is to be implemented, the creation module 122 and the reference module 124 in different processes arranged in one device can communicate with the data management device 110. When the data transfer between devices is to be implemented, the creation module 122 and the reference module 124 in processes arranged in different devices can communicate with the data management device 110.
[0048] As described above, each data management device 110 can act as both a creator and a reference of a data object. When it acts as a creator of a data object, the corresponding application request is generated by the creation module 122; when it acts as a reference of a data object, the corresponding acquisition request is generated by the reference module 124.
[0049] In a conventional distributed system, the data transfer methods in a process, between processes, and between devices are different, the data is directly transferred by a pointer in a process, transferred by IPC communication between processes, and transferred by network communication between devices. According to the data management system 100 of the present application, only the attributes (such as type, size, etc.) of the data object are transferred when the data request devices 120 transfer information, and the operations such as creation, acquisition, update, and destruction of the data object by the data request devices 120 are all completed by the operation of the data management device 110. Since the attributes of the data object are much smaller than the data itself, the attributes can be transferred by a simple parameter transfer instruction in a process, between processes, or between devices. In this way, the data transfer process is unified as an operation between the data request device 120 and the data management device 110, effectively unifying the data transfer means and greatly simplifying the complexity of data transfer in various scenarios (in a process, between processes, or between devices).
[0050] In the system 100 according to the present application, such intelligent devices include special intelligent devices such as mobile terminals and personal digital terminals, which communicate with the data management device 110 through the data request device 120 according to the present application to acquire or generate various types of data for data processing or control of peripherals in the device.
[0051] Such intelligent devices also include special devices constructed for specific functions, such as smart sound boxes and smart display devices. These devices communicate with the data management device 110 through the data request device 120 according to the present application to acquire or generate various types of data for control of the sound box and display device, thereby endowing the sound box and display device with additional communication, sensing, and data processing functions.
[0052] Such intelligent devices also include various IoT and AIoT devices. These devices communicate with the data management device 110 through the data request device 120 according to the present application to perform AI operations, data communication and transmission, etc., thereby realizing a more intensive and intelligent distribution of devices.
[0053] Such intelligent devices can also be used in vehicles, for example, can be implemented as in-vehicle devices or can be embedded in vehicles, which communicate with the data management device 110 through the data request device 120 according to the present application, thereby providing data processing capabilities for intelligent driving of vehicles.
[0054] Such intelligent devices can also be used in the field of home and entertainment, for example, can be implemented as smart sound boxes, smart air conditioners, smart refrigerators, smart display devices, etc. These devices communicate with the data management device 110 through the data request device 120 according to the present application to perform data processing and peripheral control, thereby realizing the intelligentization of home and entertainment devices.
[0055] In addition, such intelligent devices can also be used in the industrial field, for example, can be implemented as industrial control devices, sensing devices, IoT devices, AIoT devices, and braking devices, etc. These devices communicate with the data management device 110 through the data request device 120 according to the present application, obtain or generate various types of data for data processing and peripheral control, thereby realizing the intelligentization of industrial devices.
[0056] The above description of intelligent devices is merely illustrative, and the intelligent devices according to the present application are not limited thereto, and all intelligent devices that can utilize the system on chip according to the present application for data processing are within the protection scope of the present application.
[0057] According to the embodiments of the present application, each part in the system 100 can be implemented by one or more computing devices.
[0058] Figure 2 A schematic diagram of a computing device 200 according to one embodiment of the present application is shown.
[0059] As shown in Figure 2 In a basic configuration 202, the computing device 200 typically includes one or more processors 204 and system memory 206. A memory bus 208 can be used for communicating between the processor 204 and the system memory 206.
[0060] Depending on the desired configuration, the processor 204 can be of any type, including but not limited to a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. The processor 204 can include one or more levels of cache memory 210, one or more processor cores 214, and registers 216. An example processor core 214 can include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof. An example memory controller 218 can be used with the processor 204 or, in some implementations, the memory controller 218 can be an internal part of the processor 204.
[0061] Depending on the desired configuration, the system memory 206 can be of any type, including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof. The system memory 206 can include an operating system 220, one or more applications 222, and program data 224. In some embodiments, the application 222 can be arranged to execute instructions from the operating system 220 using the program data 224 by one or more processors 204.
[0062] The computing device 200 can also include an interface bus 240 for facilitating communication from various interface devices (e.g., output devices 242, peripheral interfaces 244, and communication devices 246) to the basic configuration 202 via the bus / interface controller 230. Example output devices 242 include a graphics processing unit 248 and an audio processing unit 250, which can be configured to facilitate communication to various external devices such as a display or speakers via one or more A / V ports 252. Example peripheral interfaces 244 include a serial interface controller 254 or a parallel interface controller 256, which can be configured to facilitate communication to various external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device) or other peripheral devices (e.g., printer, scanner, etc.) via one or more I / O ports 258. An example
[0063] Network communication links can be one example of a communication media. Communication media can typically be embodied by computer readable instructions, data structures, program modules, and the like, in a modulated data signal, such as a carrier wave or other transport mechanism, and can include any information delivery media. A "modulated data signal" can be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media can include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), microwave, infrared (IR) and other wireless media. The term computer readable media as used herein can include both storage media and communication media.
[0064] The computing device 200 can be implemented as a server, for example, a file server, a database server, an application server, a web server, and the like, or as a personal computer including a desktop computer and a notebook computer configuration. Of course, the computing device 200 can also be implemented as part of a small-size portable (or mobile) electronic device. In an embodiment according to the present application, the computing device 200 is configured to execute a data management method 300 according to the present application. In this regard, the application 222 of the computing device 200 contains a plurality of program instructions for executing the method 300 according to the present application.
[0065] The following will be described in detail with reference to the accompanying drawings. Figure 1 The data management method 300 according to an embodiment of the present application will be described in detail. As described above, the data management method 300 according to the present application is executed by the computing device 200. Figure 3Fig. 3 shows a flow chart of a data management method 300 according to an embodiment of the present application. The method 300 is suitable to be performed in the system 100, especially in the data management device 110, as shown in Fig. 1. Figure 3 As shown in Fig. 3, the method 300 starts at step S310.
[0066] At step S310, the data management device 110 receives an application request of a data object from a first requestor. In one embodiment, the application request contains attributes of the data object to be created.
[0067] As described in the system 100, the first requestor is any one of the data request devices 120, when it wants to create a data object, sends an application request to the data management device 110 through the communication module 126 by the creation module 122. The application request contains attributes of the data object to be created, which generally includes the type and size of the data object, but is not limited to this.
[0068] Subsequently at step S320, the data management device 110 creates the data object according to the attributes.
[0069] In one embodiment, the data management device 110 creates the data object according to the type and size of the data object defined in the attributes. In the embodiment according to the present application, the created data object includes attributes and data. The attributes are used to store the type, size and other information of the data object as described above, and the data is used to store the data content of the data object.
[0070] Subsequently at step S330, the data management device 110 obtains the data content pointed by the attributes from the first requestor to fill the data content into the data of the data object.
[0071] In one embodiment, an attribute identifier is used to uniquely identify the data object. When the data object is applied, the attribute identifier is sent to the data management device 110 together with the attributes of the data object. In this way, the data management device 110 obtains the corresponding data content from the first requestor through the attribute identifier after creating the data object, and fills the data content into the data of the created data object.
[0072] According to other embodiments of the present application, after filling the data content into the data of the data object, the data management device 110 further includes a step of recording management information of the data object. The management information of the data object includes one or more of the following information: creation information of the data object, usage information of the data object, update information of the data object. The description of the management information can be referred to the related description in the system 100, which is not repeated here. As shown in Table 1, the data object in the data management device 110 is schematically shown.
[0073] Table 1: Example of data object
[0074]
[0075]
[0076] Subsequently, in step S340, the data management device 110 receives an acquisition request from a second requestor. Also in the embodiment according to the present application, the attribute of the data object is contained in the acquisition request. According to the attribute of the data object, the data management device 110 transmits the data of the data object to the second requestor.
[0077] As described in the system 100, the second requestor is any one of the data request devices 120 except the first requestor who applies to create the data object. That is, in the system 100, there can be more than one second requestor.
[0078] In one embodiment, the attribute of the data object is acquired by the second requestor from the first requestor. In other words, after the first requestor applies to create the data object, the first requestor transmits the attribute of the created data object to the second requestor. In this way, when the second requestor wants to reference the data object, the second requestor can acquire the data object from the data management device 110 by using the attribute.
[0079] According to the embodiment of the present application, after the data management device 110 transmits the data object to the second requestor, the data management device 110 also records the usage information of the data object. For example, the ID of the second requestor is recorded as a piece of usage information. Of course, the usage information not only contains the ID of the second requestor, but also can contain the timestamp information of the time when the data object is acquired, the device information of the device where the second requestor is located, etc. The embodiment of the present application does not limit the usage information.
[0080] In addition to the above steps of creating and acquiring the data object, the data request device 120 can also update and delete the data object through the data management device 110.
[0081] In one embodiment, the first requestor or the second requestor can transmit an update request of the data object to the data management device 110. Also, the update request contains the attribute of the data object in addition to the data to be updated. When the data management device 110 receives the update request of the data object, the data management device 110 updates the data of the data object, and at the same time, records the update information of the data object. Optionally, the data management device 110 records the update version information of the data object.
[0082] In another embodiment, the first requestor or the second requestor can send a deletion request of the data object to the data management apparatus 110. Similarly, the deletion request also contains the attribute of the data object to be deleted. Upon receiving the deletion request of the data object, the data management apparatus 110 updates the usage information of the data object. Specifically, the data management apparatus 110 deletes the usage information corresponding to the first requestor or the second requestor sending the deletion request each time a deletion request of the data object is received, and deletes the data object when the usage information of the data object is all deleted.
[0083] As described above, the first requestor and the second requestor can be the same process, different processes arranged in the same computing device, or processes arranged in different computing devices. According to the method 300 of the present application, the owner of the data object (i.e. the first requestor or the second requestor) and the manager of the data object (i.e. the data management apparatus 110) only need to transfer the attribute of the data object (such as the type, size, and other information) when communicating, and the owner of the data object performs the operations such as creation, acquisition, update, and deletion of the data object through the data management apparatus 110. Therefore, the data transfer process is unified as the operation between the owner of the data object and the manager of the data object, greatly simplifying the complexity of data transfer in various scenarios (in-process, inter-process, and inter-device).
[0084] According to some other embodiments of the present application, in order to ensure the security of data transfer, the communication between the owner of the data object and the manager of the data object needs to be authenticated to ensure that no data is tampered with or the like. Specifically, in each communication process, the communication content (especially the data itself) is first encrypted and then transferred. For example, when the data management apparatus 110 sends the data of the data object to the second requestor according to the attribute of the data object, the encrypted data of the data object can be sent to the second requestor according to the attribute of the data object.
[0085] It should be noted that the content of the above Figure 1 and Figure 3 complement each other, and for the sake of simplicity, the repeated parts will not be described one by one.
[0086] It should be understood that throughout this disclosure, where a process or method is described in terms of individual steps or procedures, the steps or procedures have been described as individual embodiments, figures, or portions of descriptions thereof. However, it should be understood that the methods of the disclosure are not limited to the order of steps or procedures recited unless otherwise explicitly stated. Thus, the order of the steps or procedures recited in the claims is not limited to the order of the steps or procedures recited in the description unless otherwise explicitly stated.
[0087] Those skilled in the art will understand that the modules, or units, or components of the devices in the examples disclosed herein can be arranged in the devices as described in the examples, or alternatively can be located in one or more devices different from the devices in the examples. The modules in the foregoing examples can be combined into one module or further divided into multiple sub-modules.
[0088] Those skilled in the art will understand that the modules in the devices in the examples can be adaptively changed and disposed in one or more devices different from the examples. The modules or units or components in the examples can be combined into one module or unit or component, and further divided into multiple sub-modules or sub-units or sub-components. Except that at least some of such features and / or processes or units are mutually exclusive, any combination of all the features disclosed in the specification (including the accompanying claims, abstract and drawings), and all the processes or units of any method or device disclosed thus can be adopted. Unless explicitly stated otherwise, each feature disclosed in the specification (including the accompanying claims, abstract and drawings) can be replaced by an alternative feature providing the same, equivalent or similar purpose.
[0089] Further, those skilled in the art will understand that although some of the examples described herein include some, but not other, features included in other examples, combinations of the features of the different examples are to be expected as being within the scope of the application and forming different examples. For example, in the following claims, any of the claims can be used in any combination so that the application encompasses one, some or all of the examples.
[0090] Furthermore, some of the embodiments described herein are of a "method" or a "process" that can be embodied in software, firmware or hardware, and when embodied in software, can be implemented with computer- executable instructions. The rules of equivalence, as well as the "means-plus-function" or "step-plus-function" clauses below, are meant to cover both "articles of manufacture" and "combinations of articles of manufacture" that consist of one or more computer- readable media storing computer-executable instructions.
[0091] As used herein, unless otherwise indicated, the use of the ordinal adjectives "first", "second", "third" and so forth, merely to distinguish between two or more of the same item, and do not, unless otherwise indicated, imply any temporal, spatial, ranking or ordering in the arrangement, magnitude, priority or appearance of the items so designated.
[0092] Although the present application has been described in connection with limited number of embodiments, it will be evident for a person skilled in the art that many modifications and changes can be applied to the application as described above without deviating from the scope of the application as defined in the following claims. Furthermore, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes and can not have been selected to delineate or circumscribe the subject application. Accordingly, the disclosure of the present application is intended to be illustrative, but not limiting, of the scope of the application, which is set forth in the following claims.
Claims
1. A method for data management of a distributed system, the method being performed in a data management device, comprising steps of: receiving an application request for a data object from a first requester, the application request comprising attributes of the data object, the first requester being a data requester device, the data requester device and the data management device being designed as processes, a communication process between the data requester device and the data management device being an inter-process remote call; creating the data object according to the attributes, the data object comprising attributes and data, the attributes of the data object being description information of the data object; obtaining data content pointed by the attributes from the first requester to fill the data of the data object with the data content; and upon receiving an obtaining request for the attributes of the data object from a second requester, sending the data of the data object to the second requester according to the attributes of the data object, wherein the attributes of the data object comprised in the obtaining request are obtained by the second requester from the first requester, the second requester being a data requester device different from the first requester, the first requester and the second requester being different processes arranged in a same device or processes arranged in different devices; wherein after filling the data content into the data of the data object, further comprising recording management information of the data object, the management information of the data object comprising one or more of the following information: creation information of the data object, usage information of the data object, update information of the data object; upon receiving a deletion request for the data object from the first requester or the second requester, updating the usage information of the data object, comprising: deleting usage information corresponding to the first requester or the second requester sending the deletion request each time a deletion request for the data object is received; and deleting the data object when the usage information of the data object is all deleted. The step of sending the data of the data object to the second requester according to the attributes of the data object further comprises:
2. The method of claim 1, wherein, recording the usage information of the data object.
3. The method of claim 1, further comprising steps of: upon receiving an update request for the data object, updating the data of the data object; and recording the update information of the data object.
4. The method of claim 1, wherein the attributes of the data object comprise type and size of the data object. The step of sending the data of the data object to the second requester according to the attributes of the data object further comprises:
5. The method of claim 1, wherein, sending encrypted data of the data object to the second requester according to the attributes of the data object.
6. A data management system arranged in a distributed system, comprising: a plurality of data requester devices respectively coupled with a data management device, the data requester devices and the data management device being designed as processes, a communication process between the data requester devices and the data management device being an inter-process remote call, the data requester devices comprising: a communication module adapted to communicate with a data management device or other data request device, a creation module adapted to send a creation request to the data management device via the communication module to request creation of a data object, the data object comprising attributes and data, the attributes of the data object being descriptive information of the data object; a reference module adapted to send an acquisition request to the data management device via the communication module to request acquisition of a data object; a data management device comprising: a communication unit adapted to receive a creation request of a data object from a data request device, the creation request comprising attributes of the data object, and adapted to acquire data content pointed by the attributes from the data request device, a data object storage unit adapted to create a data object according to the attributes, and adapted to fill the data content into data of the data object, the communication unit is further adapted to, upon receiving an acquisition request comprising attributes of a data object from another data request device, send data of the data object to the another data request device according to the attributes of the data object, wherein the attributes of the data object comprised in the acquisition request are acquired by the another data request device from the data request device, the data request device and the another data request device being different processes arranged in a same device or processes arranged in different devices. wherein the data management device further comprises a data object management unit adapted to record management information of the data object and update information of the data object, wherein the management information of the data object comprises one or more of the following information: creation information of the data object, usage information of the data object, update information of the data object; the data object storage unit is further adapted to, upon receiving an update request of a data object, update data of the data object, and upon receiving a deletion request of a data object, update usage information of the data object.
7. A computing device comprising: one or more processors; and memory; one or more programs, wherein the one or more programs are stored in the memory and configured to, with the one or more processors, perform any of the methods of claims 1-5.
8. A computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computing device, cause the computing device to perform any of the methods of claims 1-5.
Citation Information
Patent Citations
Personal content sharing method, system, server and terminal devices
CN103200430A
Distributed storage system for long term data storage
US10069914B1
Access Control in an Information Centric Network
US20160149913A1