CN112035420B - 数据共享方法、共享设备和系统 - Google Patents
数据共享方法、共享设备和系统 Download PDFInfo
- Publication number
- CN112035420B CN112035420B CN202010916279.3A CN202010916279A CN112035420B CN 112035420 B CN112035420 B CN 112035420B CN 202010916279 A CN202010916279 A CN 202010916279A CN 112035420 B CN112035420 B CN 112035420B
- Authority
- CN
- China
- Prior art keywords
- target
- shared
- data
- metadata
- sharing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000001360 synchronised effect Effects 0.000 claims description 28
- 238000007726 management method Methods 0.000 description 33
- 230000008569 process Effects 0.000 description 11
- 238000013523 data management Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种数据共享方法、共享设备和系统,该方法包括:实时与至少一个其他的共享设备同步至少一个共享数据的元数据;接收请求方发来的数据访问请求,其中,数据访问请求用于获取目标共享数据;根据至少一个共享数据的元数据,确定存储有目标共享数据的目标共享设备;从目标共享设备获取目标共享数据;将目标共享数据发送给请求方。本方案能够通过无中心节点的实时数据共享方式来提升用户对共享设备的使用体验。
Description
技术领域
本发明涉及数据管理及访问技术领域,特别涉及数据共享方法、共享设备和系统。
背景技术
随着智能设备的普及,越来越需要实现设备与设备之间的数据共享。现阶段实现数据共享的方法是使用中心节点,将所需要的各种数据同步到中心节点以供各智能设备进行获取。
然而,在该数据共享的方法中,当用户需要获取某一数据时,需要去该中心节点进行所需数据的获取;另外,当需要进行数据的共享时,必须将要共享的数据存储至该中心节点,从而其他设备才能去访问该中心节点,以获取到该数据,如此,不论用户是获取数据还是存储数据都需要访问数据存储的中心节点,这使得用户在使用过程中非常不方便,因此采用中心节点的方式进行数据共享会影响到用户的使用体验。
发明内容
本发明提供了数据共享方法、共享设备和系统,能够通过无中心节点的实时数据共享方式来提升用户对共享设备的使用体验。
第一方面,本发明实施例提供了一种数据共享方法,该方法应用于共享设备,包括:
实时与至少一个其他的共享设备同步至少一个共享数据的元数据;
接收请求方发来的数据访问请求,其中,实时数据访问请求用于获取目标共享数据;
根据所述至少一个共享数据的元数据,确定存储有所述目标共享数据的目标共享设备;
从所述目标共享设备获取所述目标共享数据;
将所述目标共享数据发送给所述请求方。
可选地,所述从所述目标共享设备获取所述目标共享数据,包括:
当所述目标共享设备为当前的共享设备时,在所述当前的共享设备中查找所述目标共享数据;
当所述目标共享设备不是当前的共享设备时,向所述目标共享设备发送目标数据请求,以使所述目标共享设备根据所述目标数据请求返回所述目标共享数据,接收所述目标共享数据。
可选地,所述共享数据包括共享文件;
所述实时与至少一个其他的共享设备同步至少一个共享数据的元数据,包括:
当接收到任一其他的共享设备发来的目标元数据时,
从所述目标元数据中获取当前共享文件所在的目标目录;
判断当前的共享设备的元数据中是否存在与上述目标目录相同的当前目录;
如果否,将所述目标元数据添加到当前的共享设备的元数据中。
可选地,该数据共享方法,进一步包括:
在当前的共享设备的元数据中存在与所述目标目录相同的当前目录时,从所述目标元数据中获取所述当前共享文件的名称;
判断所述当前目录中是否存在与所述当前共享文件的名称相同的名称;
如果存在,则确定所述当前共享文件与所述相同的名称对应的文件中存在时间最短的目标文件,根据所述当前的共享设备的元数据,确定保存有所述目标文件的第一共享设备,通知所述第一共享设备修改所述目标文件的名称,接收所述第一共享设备发来的所述目标文件的修改后的名称,将所述目标文件的修改后的名称同步到所述当前的共享设备的元数据中;
如果不存在,则将所述目标元数据添加到当前的共享设备的元数据中。
可选地,所述实时与至少一个其他的共享设备同步至少一个共享数据的元数据,包括:
在当前的共享设备中生成待同步的待同步元数据;
将所述待同步元数据发送给所述至少一个其他的共享设备,以使所述至少一个其他的共享设备同步所述待同步元数据。
可选地,该数据共享方法,进一步包括:
接收任一其他的共享设备发来的共享数据请求;
在当前的共享设备中查找所述共享数据请求所请求的共享数据;
将所述共享数据请求所请求的共享数据发送给发来所述共享数据请求的共享设备。
第二方面,本发明实施例还提供了一种共享设备,包括:元数据管理模块、接收模块、确定模块、获取模块和发送模块;
所述元数据管理模块,用于实时与至少一个其他的共享设备同步至少一个共享数据的元数据;
所述接收模块,用于接收请求方发来的数据访问请求,其中,数据访问请求用于获取目标共享数据;
所述确定模块,用于根据所述元数据管理模块获得的所述至少一个共享数据的元数据,确定存储有所述接收模块接收到的所述数据访问请求所要获取的所述目标共享数据的目标共享设备;
所述获取模块,用于从所述确定模块确定的所述目标共享设备获取所述目标共享数据;
所述发送模块,用于将所述获取模块获取的所述目标共享数据发送给所述请求方。
可选地,所述获取模块,用于执行如下操作:
当所述目标共享设备为当前的共享设备时,在所述当前的共享设备中查找所述目标共享数据;
当所述目标共享设备不是当前的共享设备时,向所述目标共享设备发送目标数据请求,以使所述目标共享设备根据所述目标数据请求返回所述目标共享数据,接收所述目标共享数据。
可选地,所述共享数据包括共享文件;
所述元数据管理模块,用于执行如下操作:
当接收到任一其他的共享设备发来的目标元数据时,
从所述目标元数据中获取当前共享文件所在的目标目录;
判断当前的共享设备的元数据中是否存在与所述目标目录相同的当前目录;
如果否,将所述目标元数据添加到当前的共享设备的元数据中。
第三方面,本发明实施例还提供了一种数据管理系统,所述数据管理系统包括至少两个第二方面或第二方面的任一可能的实现方式中所提到的共享设备,任意两个所述共享设备连接于同一局域网中。
由上述技术方案可知,每一台共享设备之间都会实时进行元数据的同步,当接收到来自请求方的数据访问请求时,被访问的共享设备会根据共享数据的元数据确定该共享数据所存储的目标共享设备,然后从该目标共享设备中获取到目标共享数据,并发送给目标共享数据的请求方。由此可见,任意一个共享设备的状态发生变化时,都会将自身的元数据立即同步至其他设备,如此,可以从任意一台共享设备中通过元数据查询到每台共享设备的数据存储情况,当需要获取某一目标数据时,由该设备通过查询目标数据所在的设备,以进一步获取到该目标数据。因此,该方案不需要将目标共享数据存储至固定的共享设备中,从而也不需要用户去固定的共享设备中获取目标共享数据,只需要在当前设备进行数据获取即可。因此,本方案通过采用无中心节点的方式提升了用户使用共享设备的使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种数据共享方法的流程图;
图2是本发明另一个实施例提供的一种数据共享方法的流程图;
图3是本发明一个实施例提供的一种元数据同步中分布式文件系统版本管理示意图;
图4是本发明一个实施例提供的一种共享设备的内部构成示意图;
图5是本发明一个实施例提供的一种共享设备;
图6是本发明一个实施例提供的一种元数据管理模块的内部交互示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种数据共享方法,该方法可以包括如下步骤:
步骤101:实时与至少一个其他的共享设备同步至少一个共享数据的元数据;
步骤102:接收请求方发来的数据访问请求,其中,数据访问请求用于获取目标共享数据;
步骤103:根据所述至少一个共享数据的元数据,确定存储有所述目标共享数据的目标共享设备;
步骤104:从所述目标共享设备获取所述目标共享数据;
步骤105:将所述目标共享数据发送给所述请求方。
在本发明实施例中,每一台共享设备之间都会实时进行元数据的同步,当接收到来自请求方的数据访问请求时,被访问的共享设备会根据共享数据的元数据确定该共享数据所存储的目标共享设备,然后从该目标共享设备中获取到目标共享数据,并发送给目标共享数据的请求方。由此可见,任意一个共享设备的状态发生变化时,都会将自身的元数据立即同步至其他设备,如此,可以从任意一台共享设备中通过元数据查询到每台共享设备的数据存储情况,当需要获取某一目标数据时,由该设备通过查询目标数据所在的设备,以进一步获取到该目标数据。因此,该方案不需要将目标共享数据存储至固定的共享设备中,从而也不需要用户去固定的共享设备中获取目标共享数据,只需要在当前设备进行数据获取即可。因此,本方案通过采用无中心节点的方式提升了用户使用共享设备的使用体验。
在本发明的另一种实施例中,所述从所述目标共享设备获取所述目标共享数据,包括:
当所述目标共享设备为当前的共享设备时,在所述当前的共享设备中查找所述目标共享数据;
当所述目标共享设备不是当前的共享设备时,向所述目标共享设备发送目标数据请求,以使所述目标共享设备根据所述目标数据请求返回所述目标共享数据,接收所述目标共享数据。
在本发明实施例中,当需要根据请求方的数据访问请求从目标共享设备中获取目标共享数据时,需要判断该目标共享设备是否为当前设备,如果是,则从当前设备获取该目标共享数据,如果不是,则向目标共享设备发送数据请求以获取该目标共享数据。由此可见,该方案中,目标共享数据不需要指定存放到某一共享设备中,更不需要每一台共享设备中都存放该目标共享数据,对任意一个共享设备发送数据访问请求都可以获取到所需要的数据,因此不仅解放了共享设备的存储空间,而且为用户或其他设备端获取数据提供了便捷。
在本发明的又一种实施例中,所述共享数据包括共享文件;
所述实时与至少一个其他的共享设备同步至少一个共享数据的元数据,包括:
当接收到任一其他的共享设备发来的目标元数据时,
从所述目标元数据中获取当前共享文件所在的目标目录;
判断当前的共享设备的元数据中是否存在与上述目标目录相同的当前目录;
如果否,将所述目标元数据添加到当前的共享设备的元数据中。
在本发明实施例中,当对目标元数据进行同步时,需要判断当前的共享设备的元数据中是否存在与当前共享文件所在的目标目录相同的当前目录,如果不存在,则将目标元数据添加到该共享设备的元数据中,如此,可以将两个不同目录下的元数据进行存储,以完成数据同步的过程。因此,该过程不断的将导致对应共享设备发生状态变化的元数据发送给其他设备,以使其他设备完成对该元数据的同步,从而可以实现各个共享设备之间的实时数据共享。
接上述实施例所述,如果在当前的共享设备的元数据中存在与所述目标目录相同的当前目录时,从所述目标元数据中获取所述当前共享文件的名称;
判断所述当前目录中是否存在与所述当前共享文件的名称相同的名称;
如果存在,则确定所述当前共享文件与所述相同的名称对应的文件中存在时间最短的目标文件,根据所述当前的共享设备的元数据,确定保存有所述目标文件的第一共享设备,通知所述第一共享设备修改所述目标文件的名称,接收所述第一共享设备发来的所述目标文件的修改后的名称,将所述目标文件的修改后的名称同步到所述当前的共享设备的元数据中;
如果不存在,则将所述目标元数据添加到当前的共享设备的元数据中。
在本发明实施例中,如果存在目标目录相同的当前目录,需要判断该当前目录中是否存在与当前共享文件的名称相同的名称,如果存在,则需要将当前共享文件与其具有相同名称的文件中存在时间最短的目标文件返回给其对应的共享设备,以对该目标文件进行文件名修改,并将修改后的名称同步到当前共享设备的元数据中;如果当前目录中不存在与当前文件的名称相同的名称,则直接将该目标元数据添加至当前的共享设备的元数据中。由此可见,该方案通过判断冲突文件(文件名称相同的文件),避免了元数据同步之后存在文件名相同的文件,这有利于后续进行数据的管理,也保证了在进行数据访问时获取到的共享数据的唯一性,防止在获取目标共享数据时,出现同时获取到文件名相同但数据内容却不相同的多个文件的情况。
在本发明的另一种实施例中,当在本地系统创建文件后,当前共享设备会生成待同步元数据,并将该待同步元数据发送给至少一个其他的共享设备,以使至少一个其他的共享设备同步该待同步元数据。
在本发明实施例中,当前设备发生状态变化导致生成了待同步元数据,其立刻会将该待同步元数据发送给其他的共享设备,以使其他的共享设备完成同步。因此,该方案体现出了各共享设备之间的数据是进行实时共享的。
在本发明的另一种实施例中,还可以进一步包括:
接收任一其他的共享设备发来的共享数据请求;
在当前的共享设备中查找所述共享数据请求所请求的共享数据;
将所述共享数据请求所请求的共享数据发送给发来所述共享数据请求的共享设备。
在本发明实施例中,如果当前共享设备接收到的是来自其他任一共享设备发来的数据访问请求,则说明当前共享设备中存储有其所需的共享数据,则根据数据访问请求将请求方所需的共享数据发给请求方,如此可以完成数据的共享。
如图2所示,本发明另一个实施例提供了一种数据管理的方法,该方法可以包括以下步骤:
步骤201:实时与至少一个其他的共享设备同步至少一个共享数据的元数据。
在本步骤中,实时与至少一个其他共享设备同步至少一个共享数据的元数据,包括当前共享设备发生状态变化时,将自己发生变化的元数据提供给其他每一台共享设备进行同步更新,还包括接收其他共享设备发生变化的元数据,当前的共享设备根据该元数据完成本共享设备的同步更新。
在一种可能的实施例中,步骤201可以包括以下步骤:
步骤201a:当接收到任一其他的共享设备发来的目标元数据时,从所述目标元数据中获取当前共享文件所在的目标目录,其中,所述共享数据包括共享文件。
步骤201b:判断当前的共享设备的元数据中是否存在与所述目标目录相同的当前目录,如果否,将所述目标元数据添加到当前的共享设备的元数据中。
在步骤201a和步骤201b中,当其他任意一台共享设备的元数据状态发生变化时,其会将发生变化的元数据提供给其他共享设备以使其他共享设备同步更新,而在此过程中,当前设备接收到目标元数据时,会在当前设备中查找是否存在与目标元数据中的共享文件所在的目标目录相同的当前目录,从而确定该目标元数据是否可以直接添加至当前设备中。
例如,A共享设备中有数据Data1,B共享设备中有数据Data2,其中Data1 下有文件file1和file2,Data2下有数据file1和file3,通过判断,确定共享文件不再同一个数据Data下,因此直接将数据进行合并,添加到对应的共享设备下使该共享设备同时存在Data1和Data2。
在另一种可能的实施例中,步骤201还可以包括以下步骤:
步骤201A:在当前的共享设备的元数据中存在与所述目标目录相同的当前目录时,从所述目标元数据中获取所述当前共享文件的名称。
步骤201B:判断所述当前目录中是否存在与所述当前共享文件的名称相同的名称。
步骤201C:如果存在,则确定所述当前共享文件与所述相同的名称对应的文件中存在时间最短的目标文件,根据所述当前的共享设备的元数据,确定保存有所述目标文件的第一共享设备,通知所述第一共享设备修改所述目标文件的名称,接收所述第一共享设备发来的所述目标文件的修改后的名称,将所述目标文件的修改后的名称同步到所述当前的共享设备的元数据中;如果不存在,则将所述目标元数据添加到当前的共享设备的元数据中。
在步骤201A至步骤201C中,如果在当前设备中查找到了与目标元数据中的共享文件所在的目标目录相同的当前目录,则需要进一步确定该当前目录中是否存在与当前共享文件名称相同的名称,如果存在,则需要将文件名相同的两个文件中存在时间最短的目标文件返回至其对应的共享设备,以通知该共享设备对该目标文件进行名称的修改,并将修改的名称同步至当前共享设备的元数据中,如果不存在与当前共享文件名称相同的文件,则直接进行数据合并。
例如,A共享设备和B共享设备中均有数据Data1,其中,A共享设备的 Data1下有文件file1和file2,B共享设备的Data1下有文件file1和file3,显然两个不同共享设备的同一个Data1下均含有文件file1文件,即合并时会存在冲突文件file1,因此,需要根据A共享设备和B共享设备的属性信息确定出file1文件在对应共享设备中的生成时间,然后将生成时间最短的file1返回给其对应的共享设备进行文件名称修改,比如A共享设备中的file1存在的时间较短,就需要将A共享设备中的file1返回给A共享设备进行文件名修改,以完成自己的更新后再次同步至其他共享设备。
值得注意的是,判断共享设备之间是否存在冲突文件的过程中,需要对同时在线共享设备的元数据同步过程进行冲突文件的判断;此外,在当前共享设备刚上线时,其需要对每个共享设备的元数据进行同步,在此过程中,如果接收到的是不同共享设备的文件名相同的共享文件,也需要进行冲突文件的判断,并将存在时间较短的文件名进行修改和保存。
此处需要说明的是,每一台共享设备中都有挂载在本地文件系统的一个目录下的分布式文件系统,每一个分布式文件系统中都有配置信息、元数据文件和操作日志三部分。其中配置信息用于存储当前共享设备和该同一局域网中的其他共享设备的设备名和设备号,元数据文件包含多个数据,具体地,包括各数据的编号、数据名,数据所属的共享设备、文件目录、文件类型以及文件大小等信息。操作日志包括了日志记录的时间,操作类型,修改前后的版本以及数据修改前后信息的内容,其中,操作日志是根据设定的时间不断进行操作日志的更新的。
在又一种可能的实施例中,步骤201还可以包括以下步骤:
在当前的共享设备中生成待同步的待同步元数据;
将所述待同步元数据发送给所述至少一个其他的共享设备,以使所述至少一个其他的共享设备同步所述待同步元数据。
在该实施例中,如果当前的共享设备发生了状态变化,则当前共享设备会将由状态变化所增加的元数据发送给其他的共享设备,以使其他的共享设备完成对该元数据的同步。例如,如果当前共享设备需要在本地文件系统中创建一个文件,则需要为该文件分配存储空间,具体地讲,当前共享设备通过索引节点在分布式文件系统中查找本地文件系统中的空闲位置,然后根据查找结果在本地文件系统中创建文件,当前共享设备根据创建的文件会生成对应的元数据,然后将该元数据发送给其他共享设备,以使其他共享设备也同步该共享设备创建文件夹的元数据。
步骤202:接收请求方发来的数据访问请求,其中,数据访问请求用于获取目标共享数据。
在本步骤中,当前共享设备接收到的数据访问请求可能是由用户在当前共享设备进行获取目标共享数据的,也有可能是用户通过其他共享设备获取该目标元数据,在用户所访问的共享设备中没有该目标共享数据时,由用户所访问的共享设备向存储有该目标共享数据的共享设备发送的数据访问请求。
步骤203:根据所述至少一个共享数据的元数据,确定存储有所述目标共享数据的目标共享设备。
在本步骤中,由于用户是从任意一个共享设备上进行的对目标共享数据的数据访问,但实际上,该目标共享数据并不一定就存在于当前用户所访问的共享设备中,所以需要根据当前共享设备上对应于该目标共享数据的元数据确定该目标共享数据存在于哪台目标共享设备中。例如用户在A共享设备中访问工作计划表,A共享设备通过查询工作计划表所对应的元数据信息确定了该工作计划表文件是存在于B共享设备中的;当然,显而易见的是,该工作计划表也有可能就存在于用户所访问的A共享设备中。
步骤204:当所述目标共享设备为当前的共享设备时,在所述当前的共享设备中查找所述目标共享数据。
本步骤即为上述步骤204解释部分所提到的目标共享数据就存在于当前的共享设备的情况。例如,用户在A共享设备上要查看项目申请书,A共享设备接收到该查看项目申请书的请求后,根据该项目申请书所对应的元数据信息,确定了该项目申请书就在当前的A共享设备中,此时即可直接获取到该项目申请书以提供给用户查看。
步骤205:当所述目标共享设备不是当前的共享设备时,向所述目标共享设备发送目标数据请求,以使所述目标共享设备根据所述目标数据请求返回所述目标共享数据,接收所述目标共享数据。
本步骤即为上述步骤204解释部分所提到的目标共享数据没有存储在当前共享设备中的情况。例如,用户在手机上要查看照片,手机在接收到用户查看照片的请求后,查找发现该照片并没有存在其本地文件系统中,此时,手机会根据该照片对应的元数据查找到该照片所存储的位置为iPad中,那么手机就会与iPad通讯获取到该照片,如此就可以在手机上将该照片呈现给用户。
步骤206:将所述目标共享数据发送给所述请求方。
在本步骤中,无论是上述步骤204中提到的目标共享数据是存储在当前的目标共享设备中,还是存在于其他的目标共享设备中,都可以将目标共享数据进行获取,以提供给访问该共享数据的用户。
另外,需要说明的是,在本方案中提到的每一台共享设备中,均存在一个挂载在本地文件系统的某一个目录下的分布式文件系统,上述所提到的元数据共享的操作都是有该分布式文件系统的服务程序去控制完成的。例如,一个人或者一家人同时拥有多台共享设备,包括几部手机、iPad、PC机。若手机和iPad处于同一局域网络中,则可以从手机上通过分布式文件系统的服务程序和iPad上的分布式文件系统的服务程序通讯直接获取到iPad上的指定图片,实现数据共享。共享设备可以频繁加入或退出同一局域网,在加入或退出该同一局域网时,其都会将自己的数据同步至其他共享设备,并根据其他共享设备的数据完成自身的更新。值得注意的是,任意一次的元数据同步完成后,都需要对当前的共享设备所携带的分布式文件系统的版本进行更新。
例如,如图3所示的元数据同步中分布式文件系统版本管理示意图,共享设备1、3、4在线时将分布式文件系统的版本更新同步到一致的状态,即版本号为DFSv102。共享设备2在版本DFSv100时关机,待其开机后会将其他共享设备的分布式文件系统的版本更新到本机,即将版本号从DFSv100更新为DFSv102。共享设备4在离线阶段自身存在更新,更新后版本号为 DFSv112,当其再次加入到该同一局域网内时,其他设备也会将版本更新为DFSv112,即同步设备4的数据。
如图4和图5所示,本发明实施例提供了一种共享设备的内部构成和共享设备。共享设备实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图4所示,为本发明实施例提供了共享设备所在设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中设备所在的内部构成通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图5所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供了一种共享设备,包括:元数据管理模块501、接收模块502、确定模块503、获取模块504和发送模块505;
所述元数据管理模块501,用于实时与至少一个其他的共享设备同步至少一个共享数据的元数据;
所述接收模块502,用于接收请求方发来的数据访问请求,其中,数据访问请求用于获取目标共享数据;
所述确定模块503,用于根据所述元数据管理模块501获得的所述至少一个共享数据的元数据,确定存储有所述接收模块502接收到的所述数据访问请求所要获取的所述目标共享数据的目标共享设备;
所述获取模块504,用于从所述确定模块503确定的所述目标共享设备获取所述目标共享数据;
所述发送模块505,用于将所述获取模块504获取的所述目标共享数据发送给所述请求方。
如图5所示的共享设备,所述获取模块504,用于执行如下操作:
当所述目标共享设备为当前的共享设备时,在所述当前的共享设备中查找所述目标共享数据;
当所述目标共享设备不是当前的共享设备时,向所述目标共享设备发送目标数据请求,以使所述目标共享设备根据所述目标数据请求返回所述目标共享数据,接收所述目标共享数据。
如图5所示的共享设备,所述共享数据包括共享文件;
所述元数据管理模块501,还用于执行如下操作:
当接收到任一其他的共享设备发来的目标元数据时,
从所述目标元数据中获取当前共享文件所在的目标目录;
判断当前的共享设备的元数据中是否存在与上述目标目录相同的当前目录;
如果否,将所述目标元数据添加到当前的共享设备的元数据中。
所述元数据管理模块501,还用于执行如下操作:
在当前的共享设备的元数据中存在与所述目标目录相同的当前目录时,从所述目标元数据中获取所述当前共享文件的名称;
判断所述当前目录中是否存在与所述当前共享文件的名称相同的名称;
如果存在,则确定所述当前共享文件与所述相同的名称对应的文件中存在时间最短的目标文件,根据所述当前的共享设备的元数据,确定保存有所述目标文件的第一共享设备,通知所述第一共享设备修改所述目标文件的名称,接收所述第一共享设备发来的所述目标文件的修改后的名称,将所述目标文件的修改后的名称同步到所述当前的共享设备的元数据中;
如果不存在,则将所述目标元数据添加到当前的共享设备的元数据中。
所述元数据管理模块501,用于执行如下操作:
在当前的共享设备中生成待同步的待同步元数据;
将所述待同步元数据发送给所述至少一个其他的共享设备,以使所述至少一个其他的共享设备同步所述待同步元数据。
如图5所示的共享设备,
所述接收模块502,还用于接收任一其他的共享设备发来的共享数据请求。
所述确定模块503,还用于在当前的共享设备中查找所述接收模块502 接收到的所述共享数据请求所请求的共享数据。
所述发送模块505,还用于将所述确定模块503确定出的所述共享数据请求所请求的共享数据发送给发来所述接收模块502接收到所述共享数据请求的共享设备。
基于图5所示的一种共享设备,如图6所示为元数据管理模块的内部交互示意图,元数据管理模块中主要通过存储服务程序和同步服务程序完成各项数据管理。存储服务程序包设备管理接口、元数据操作接口和日志管理接口。其中,设备管理接口负责节点的状态管理,在节点状态管理中可以查看到设备的增删、上线、离线以及进行节点配置;元数据操作用于实现元数据的管理;同步管理接口负责实现元数据的同步管理,其通过与通讯模块配合实现多节点与多节点之间的同步、单节点对多节点的同步以及多节点对单节点的同步等;元数据同步管理和节点状态管理均包括元数据管理,在元数据管理中可以实现元数据的查询、元数据的修改以及元数据的一致性修复等操作,而且可以进行文件的冲突检测与解决,并通过将冲突文件返回上层应用端的方式进行冲突解决。进一步,元数据管理还可以详细分为内存及缓存管理和日志管理,日志管理通过日志管理接口实现对日志的追加、删除、旧日志清理以及多设备日志的归并等操作。内存及缓存管理用于将元数据的同步状态和版本的更新状态暂存在内存中,并在后续写入至底层文件系统中。
本发明一种实施例还提供了一种数据管理系统,该系统包括至少两个上述任一实施例所提到的共享设备,任意两个所述共享设备连接于同一局域网中。
综上所述,本发明各个实施例提供的数据共享方法、共享设备和系统,至少具有如下有益效果:
1、在本发明实施例中,每一台共享设备之间都会实时进行元数据的同步,当接收到来自请求方的数据访问请求时,被访问的共享设备会根据共享数据的元数据确定该共享数据所存储的目标共享设备,然后从该目标共享设备中获取到目标共享数据,并发送给目标共享数据的请求方。由此可见,任意一个共享设备的状态发生变化时,都会将自身的元数据立即同步至其他设备,如此,可以从任意一台共享设备中通过元数据查询到每台共享设备的数据存储情况,当需要获取某一目标数据时,由该设备通过查询目标数据所在的设备,以进一步获取到该目标数据。因此,该方案不需要将目标共享数据存储至固定的共享设备中,从而也不需要用户去固定的共享设备中获取目标共享数据,只需要在当前设备进行数据获取即可,这提升了用户使用该共享设备的使用体验。
2、在本发明实施例中,当需要根据请求方的数据访问请求从目标共享设备中获取目标共享数据时,需要判断该目标共享设备是否为当前设备,如果是,则从当前设备获取该目标共享数据,如果不是,则向目标共享设备发送数据请求以获取该目标共享数据。由此可见,该方案中,目标共享数据不需要指定存放到某一共享设备中,更不需要每一台共享设备中都存放该目标共享数据,对任意一个共享设备发送数据访问请求都可以获取到所需要的数据,因此不仅解放了共享设备的存储空间,而且为用户或其他设备端获取数据提供了便捷。
3、在本发明实施例中,当对目标元数据进行同步时,需要判断当前的共享设备的元数据中是否存在与当前共享文件所在的目标目录相同的当前目录,如果不存在,则将目标元数据添加到该共享设备的元数据中,如此,可以将两个不同目录下的元数据进行存储,以完成数据同步的过程。因此该过程不断的将导致对应共享设备发生状态变化的元数据发送个其他设备,以使其他设备完成对该元数据的同步,从而可以实现各个共享设备之间的实时数据共享。
4、在本发明实施例中,如果存在目标目录相同的当前目录,需要判断该当前目录中是否存在与当前共享文件的名称相同的名称,如果存在,则需要将当前共享文件与其具有相同名称的文件中存在时间最短的目标文件返回给其对应的共享设备,以对该目标文件进行文件名修改,并将修改后的名称同步到当前共享设备的元数据中;如果当前目录中不存在与当前文件的名称相同的名称,则直接将该目标元数据添加至当前的共享设备的元数据中。由此可见,该方案通过判断冲突文件(文件名称相同的文件),避免了元数据同步之后存在文件名相同的文件,这有利于后续进行数据的管理,也保证了在进行数据访问时获取到的共享数据的唯一性,防止在获取目标共享数据时,出现同时获取到文件名相同数据内容却不相同的两个文件的情况。
5、在本发明实施例中,当前设备发生状态变化导致生成了待同步元数据,其立刻会将该待同步元数据发送给其他的共享设备,以使其他的共享设备完成同步。因此,该方案体现出了各共享设备之间的数据是进行实时共享的。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围。
Claims (4)
1.数据共享方法,其特征在于,应用于共享设备,包括:
实时与至少一个其他的共享设备同步至少一个共享数据的元数据;
接收请求方发来的数据访问请求,其中,数据访问请求用于获取目标共享数据;
根据所述至少一个共享数据的元数据,确定存储有所述目标共享数据的目标共享设备;
从所述目标共享设备获取所述目标共享数据;
将所述目标共享数据发送给所述请求方;
所述从所述目标共享设备获取所述目标共享数据,包括:
当所述目标共享设备为当前的共享设备时,在所述当前的共享设备中查找所述目标共享数据;
当所述目标共享设备不是当前的共享设备时,向所述目标共享设备发送目标数据请求,以使所述目标共享设备根据所述目标数据请求返回所述目标共享数据,接收所述目标共享数据;
所述共享数据包括共享文件;
所述实时与至少一个其他的共享设备同步至少一个共享数据的元数据,包括:
当接收到任一其他的共享设备发来的目标元数据时,从所述目标元数据中获取当前共享文件所在的目标目录;
判断当前的共享设备的元数据中是否存在与所述目标目录相同的当前目录;
如果否,将所述目标元数据添加到当前的共享设备的元数据中;
在当前的共享设备的元数据中存在与所述目标目录相同的当前目录时,从所述目标元数据中获取所述当前共享文件的名称;
判断所述当前目录中是否存在与所述当前共享文件的名称相同的名称;
如果存在,则确定所述当前共享文件与所述相同的名称对应的文件中存在时间最短的目标文件,根据所述当前的共享设备的元数据,确定保存有所述目标文件的第一共享设备,通知所述第一共享设备修改所述目标文件的名称,接收所述第一共享设备发来的所述目标文件的修改后的名称,将所述目标文件的修改后的名称同步到所述当前的共享设备的元数据中;
如果不存在,则将所述目标元数据添加到当前的共享设备的元数据中。
2.根据权利要求1所述的方法,其特征在于,
所述实时与至少一个其他的共享设备同步至少一个共享数据的元数据,包括:
在当前的共享设备中生成待同步的待同步元数据;
将所述待同步元数据发送给所述至少一个其他的共享设备,以使所述至少一个其他的共享设备同步所述待同步元数据。
3.根据权利要求1所述的方法,其特征在于,进一步包括:
接收任一其他的共享设备发来的共享数据请求;
在当前的共享设备中查找所述共享数据请求所请求的共享数据;
将所述共享数据请求所请求的共享数据发送给发来所述共享数据请求的共享设备。
4.一种使用权利要求1所述方法的共享设备,其特征在于,包括:元数据管理模块、接收模块、确定模块、获取模块和发送模块;
所述元数据管理模块,用于实时与至少一个其他的共享设备同步至少一个共享数据的元数据;
所述接收模块,用于接收请求方发来的数据访问请求,其中,数据访问请求用于获取目标共享数据;
所述确定模块,用于根据所述元数据管理模块获得的所述至少一个共享数据的元数据,确定存储有所述接收模块接收到的所述数据访问请求所要获取的所述目标共享数据的目标共享设备;
所述获取模块,用于从所述确定模块确定的所述目标共享设备获取所述目标共享数据;
所述发送模块,用于将所述获取模块获取的所述目标共享数据发送给所述请求方;
所述获取模块,用于执行如下操作:
当所述目标共享设备为当前的共享设备时,在所述当前的共享设备中查找所述目标共享数据;
当所述目标共享设备不是当前的共享设备时,向所述目标共享设备发送目标数据请求,以使所述目标共享设备根据所述目标数据请求返回所述目标共享数据,接收所述目标共享数据;
所述共享数据包括共享文件;
所述元数据管理模块,用于执行如下操作:
当接收到任一其他的共享设备发来的目标元数据时,
从所述目标元数据中获取当前共享文件所在的目标目录;
判断当前的共享设备的元数据中是否存在与所述目标目录相同的当前目录;
如果否,将所述目标元数据添加到当前的共享设备的元数据中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010916279.3A CN112035420B (zh) | 2020-09-03 | 2020-09-03 | 数据共享方法、共享设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010916279.3A CN112035420B (zh) | 2020-09-03 | 2020-09-03 | 数据共享方法、共享设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035420A CN112035420A (zh) | 2020-12-04 |
CN112035420B true CN112035420B (zh) | 2023-03-14 |
Family
ID=73591880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010916279.3A Active CN112035420B (zh) | 2020-09-03 | 2020-09-03 | 数据共享方法、共享设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035420B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114691631A (zh) * | 2020-12-31 | 2022-07-01 | 华为技术有限公司 | 一种数据同步方法和装置 |
CN113590550B (zh) * | 2021-07-30 | 2023-06-16 | 展讯通信(天津)有限公司 | 文件创建方法、装置和电子设备 |
CN114169863A (zh) * | 2021-12-07 | 2022-03-11 | 中国建设银行股份有限公司 | 一种签约方法、装置、电子设备及计算机可读介质 |
CN114356872A (zh) * | 2021-12-25 | 2022-04-15 | 南京欧珀软件科技有限公司 | 跨端设备的文件共享方法及相关产品 |
WO2024021952A1 (zh) * | 2022-07-28 | 2024-02-01 | 华为云计算技术有限公司 | 一种共享方法及装置 |
CN117390041B (zh) * | 2023-12-13 | 2024-03-22 | 浙江中控信息产业股份有限公司 | 数据共享方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996228A (zh) * | 2009-08-18 | 2011-03-30 | 北京艾德斯科技有限公司 | 共享文件数据块的方法及解除共享文件数据块的方法 |
KR20130106049A (ko) * | 2012-03-19 | 2013-09-27 | (주) 스타이스트디지탈랩 | 메타데이터를 이용하여 콘텐츠를 공유하는 장치와 그 방법 |
CN104506625A (zh) * | 2014-12-22 | 2015-04-08 | 国云科技股份有限公司 | 一种提升云数据库元数据节点可靠性的方法 |
CN106815298A (zh) * | 2016-12-09 | 2017-06-09 | 中电科华云信息技术有限公司 | 基于块存储的分布式共享文件系统 |
CN109936571A (zh) * | 2019-02-22 | 2019-06-25 | 全球能源互联网研究院有限公司 | 一种海量数据共享方法、开放共享平台及电子设备 |
CN111400761A (zh) * | 2020-03-17 | 2020-07-10 | 吉林亿联银行股份有限公司 | 数据共享方法及装置、存储介质及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812590B2 (en) * | 2011-04-29 | 2014-08-19 | International Business Machines Corporation | Asset sharing within an enterprise using a peer-to-peer network |
CN103150394B (zh) * | 2013-03-25 | 2014-07-23 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件系统元数据管理方法 |
CN109379399B (zh) * | 2018-08-31 | 2021-08-24 | 杭州东方通信软件技术有限公司 | 一种基于元数据的数据共享自订阅处理方法及系统 |
CN109379448B (zh) * | 2018-12-27 | 2022-06-10 | 深圳市网心科技有限公司 | 一种文件分布式部署方法、装置、电子设备及存储介质 |
-
2020
- 2020-09-03 CN CN202010916279.3A patent/CN112035420B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996228A (zh) * | 2009-08-18 | 2011-03-30 | 北京艾德斯科技有限公司 | 共享文件数据块的方法及解除共享文件数据块的方法 |
KR20130106049A (ko) * | 2012-03-19 | 2013-09-27 | (주) 스타이스트디지탈랩 | 메타데이터를 이용하여 콘텐츠를 공유하는 장치와 그 방법 |
CN104506625A (zh) * | 2014-12-22 | 2015-04-08 | 国云科技股份有限公司 | 一种提升云数据库元数据节点可靠性的方法 |
CN106815298A (zh) * | 2016-12-09 | 2017-06-09 | 中电科华云信息技术有限公司 | 基于块存储的分布式共享文件系统 |
CN109936571A (zh) * | 2019-02-22 | 2019-06-25 | 全球能源互联网研究院有限公司 | 一种海量数据共享方法、开放共享平台及电子设备 |
CN111400761A (zh) * | 2020-03-17 | 2020-07-10 | 吉林亿联银行股份有限公司 | 数据共享方法及装置、存储介质及电子设备 |
Non-Patent Citations (5)
Title |
---|
On the Design of a Cyber Security Data Sharing System;Oscar Serrano 等;《ACM》;20141103;第61-69页 * |
一种高效安全的去中心化数据共享模型;董祥千等;《计算机学报》;20180305(第05期);第1021-1036页 * |
基于元数据的多源异构海洋情报数据交互共享研究;刘婧;《情报杂志》;20160918(第09期);第165-173页 * |
基于元数据的数据共享系统框架设计研究;朱兴国等;《科协论坛(下半月)》;20100425(第04期);第51-52页 * |
支持连续数据保护的云备份系统架构设计;王欢等;《计算机工程与应用》;20111024;第90-93页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112035420A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112035420B (zh) | 数据共享方法、共享设备和系统 | |
US20210203742A1 (en) | Providing access to managed content | |
US10740319B2 (en) | Graph-based data models for partitioned data | |
US7035931B1 (en) | Volume location service for a distributed file system | |
US9977811B2 (en) | Presenting availability statuses of synchronized objects | |
CN109684282B (zh) | 一种构建元数据缓存的方法及装置 | |
TWI734744B (zh) | 路由表的同步方法、裝置及系統 | |
CN104516974B (zh) | 一种文件系统目录项的管理方法及装置 | |
NO336905B1 (no) | Fremgangsmåte og system for å synkronisere fler-bruker revisjoner av et delt objekt | |
US20140304384A1 (en) | Uploading large content items | |
JP2006195966A (ja) | 同期通信モードと非同期通信モードの間で遷移するための方法およびシステム | |
US20090006489A1 (en) | Hierarchical synchronization of replicas | |
CN105550306A (zh) | 多副本数据的读写方法及系统 | |
US9401957B2 (en) | System and method for synchronization between servers | |
CN114356872A (zh) | 跨端设备的文件共享方法及相关产品 | |
CN107291876A (zh) | 一种分布式数据管理方法 | |
CN106775498A (zh) | 一种缓存数据同步方法及系统 | |
CN109299111A (zh) | 一种元数据查询方法、装置、设备及计算机可读存储介质 | |
CN108540510B (zh) | 一种云主机创建方法、装置及云服务系统 | |
CN102891872A (zh) | 一种对等网络中数据存储和查询的方法及系统 | |
WO2016101662A1 (zh) | 一种数据处理方法及相关服务器 | |
US11128622B2 (en) | Method for processing data request and system therefor, access device, and storage device | |
CN114610680A (zh) | 分布式文件系统元数据管理方法、装置、设备及存储介质 | |
JP2005063374A (ja) | データ管理方法、データ管理装置、およびそのためのプログラムならびに記録媒体。 | |
CN110347656B (zh) | 文件存储系统中请求的管理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |