CN113407506A - 数据处理方法、装置、设备及存储介质 - Google Patents
数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113407506A CN113407506A CN202110762931.5A CN202110762931A CN113407506A CN 113407506 A CN113407506 A CN 113407506A CN 202110762931 A CN202110762931 A CN 202110762931A CN 113407506 A CN113407506 A CN 113407506A
- Authority
- CN
- China
- Prior art keywords
- file
- local cache
- cloud storage
- read
- operation request
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000001360 synchronised effect Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 15
- 238000004140 cleaning Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000005201 scrubbing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101100226364 Arabidopsis thaliana EXT1 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000001960 triggered effect 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/172—Caching, prefetching or hoarding of files
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- 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/178—Techniques for file synchronisation in file systems
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)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种数据处理方法、装置、设备及存储介质,涉及数据处理技术领域。该方法包括:获取文件操作请求;根据所述文件操作请求在本地缓存中进行文件操作,将所述本地缓存与云存储进行正向同步或反向同步,其中,所述正向同步为将所述本地缓存的数据同步到所述云存储,所述反向同步为将所述云存储的数据同步到所述本地缓存。该方法提高了使用云存储的业务***的稳定性。
Description
技术领域
本公开涉及数据处理技术领域,具体而言,涉及一种数据处理方法、装置、设备及可读存储介质。
背景技术
伴随着人们从信息技术(Information Technology,IT)时代走向数据技术(DataTechnology,DT)时代,用户对云存储容量、性能、可靠性、安全性的要求也不断提升。具体在存储领域,用户可能同时使用本地普通的文件服务器、高端的网络附属存储(NetworkAttached Storage,NAS)设备以及云存储产品。在***演进的过程中,用户也要充分地保护已有投资,充分利用原有的设备。
相关技术中用户的业务***分别与本地存储和云存储相连接,用户在使用云存储的过程中,当遇到各种网络问题时,会影响与其通过网络连接的业务***的稳定性。
如上所述,如何提高使用云存储的业务***的稳定性成为亟待解决的问题。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种数据处理方法、装置、设备及可读存储介质,至少在一定程度上提高使用云存储的业务***的稳定性。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提供一种数据处理方法,包括:获取文件操作请求;根据所述文件操作请求在本地缓存中进行文件操作,将所述本地缓存与云存储进行正向同步或反向同步,其中,所述正向同步为将所述本地缓存的数据同步到所述云存储,所述反向同步为将所述云存储的数据同步到所述本地缓存。
根据本公开的一实施例,所述文件操作请求包括文件写入请求;所述根据所述文件操作请求在本地缓存中进行文件操作,将所述本地缓存与云存储进行正向同步或反向同步包括:根据所述文件写入请求获取待写入文件数据;将所述待写入文件数据写入所述本地缓存,生成操作日志;根据所述操作日志将所述待写入文件数据写入所述云存储。
根据本公开的一实施例,所述文件操作请求包括文件读取请求;所述根据所述文件操作请求在本地缓存中进行文件操作,将所述本地缓存与云存储进行正向同步或反向同步包括:根据所述文件读取请求获取待读取文件标识;根据所述待读取文件标识判断所述本地缓存中是否已存储所述待读取文件标识对应的待读取文件;在所述本地缓存中未存储所述待读取文件的情况下,将所述待读取文件标识置于反向同步队列中,以使将所述云存储中的待读取文件同步到所述本地缓存中。
根据本公开的一实施例,所述根据所述文件操作请求在本地缓存中进行文件操作,将所述本地缓存与云存储进行正向同步或反向同步还包括:在所述本地缓存中已存储所述待读取文件的情况下,根据所述待读取文件标识从所述本地缓存中读取所述待读取文件。
根据本公开的一实施例,所述获取文件操作请求包括:通过可移植操作***接口标准文件***接口获取所述文件操作请求。
根据本公开的一实施例,所述获取文件操作请求包括:在操作***的内核空间中截获所述文件操作请求对应的***调用信息,所述***调用信息根据业务***发送的所述文件操作请求产生;将所述***调用信息转发到所述操作***的用户空间;通过所述操作***的用户空间的预设程序解析所述***调用信息,获取所述文件操作请求。
根据本公开的一实施例,所述方法还包括:获取待清理文件标识及所述待清理文件标识对应的待清理文件的失效时间,所述待清理文件已存储在所述本地缓存中;根据所述失效时间判断所述待清理文件当前是否失效;根据所述待清理文件标识判断所述待清理文件是否已同步到所述云存储;在所述待清理文件当前已失效且已同步到所述云存储的情况下,将所述待清理文件从所述本地缓存中删除。
根据本公开的再一方面,提供一种数据处理装置,包括:操作请求获取模块,用于获取文件操作请求;文件操作模块,用于根据所述文件操作请求在本地缓存中进行文件操作,将所述本地缓存与云存储进行正向同步或反向同步,其中,所述正向同步为将所述本地缓存的数据同步到所述云存储,所述反向同步为将所述云存储的数据同步到所述本地缓存。
根据本公开的一实施例,所述文件操作请求包括文件写入请求;所述文件操作模块包括:待写入文件数据获取模块,用于根据所述文件写入请求获取待写入文件数据;文件写入模块,用于将所述待写入文件数据写入所述本地缓存,生成操作日志;正向同步模块,用于根据所述操作日志将所述待写入文件数据写入所述云存储。
根据本公开的一实施例,所述文件操作请求包括文件读取请求;所述文件操作模块包括:待读取文件标识获取模块,用于根据所述文件读取请求获取待读取文件标识;缓存判断模块,用于根据所述待读取文件标识判断所述本地缓存中是否已存储所述待读取文件标识对应的待读取文件;反向同步模块,用于在所述本地缓存中未存储所述待读取文件的情况下,将所述待读取文件标识置于反向同步队列中,以使将所述云存储中的待读取文件同步到所述本地缓存中。
根据本公开的一实施例,所述文件操作模块还包括:文件读取模块,用于在所述本地缓存中已存储所述待读取文件的情况下,根据所述待读取文件标识从所述本地缓存中读取所述待读取文件。
根据本公开的一实施例,所述操作请求获取模块还用于通过可移植操作***接口标准文件***接口获取所述文件操作请求。
根据本公开的一实施例,所述操作请求获取模块包括:***调用信息截获模块,用于在操作***的内核空间中截获所述文件操作请求对应的***调用信息,所述***调用信息根据业务***发送的所述文件操作请求产生;***调用信息转发模块,用于将所述***调用信息转发到所述操作***的用户空间;***调用信息解析模块,用于通过所述操作***的用户空间的预设程序解析所述***调用信息,获取所述文件操作请求。
根据本公开的一实施例,所述装置还包括:待清理文件信息获取模块,用于获取待清理文件标识及所述待清理文件标识对应的待清理文件的失效时间,所述待清理文件已存储在所述本地缓存中;失效判断模块,用于根据所述失效时间判断所述待清理文件当前是否失效;同步判断模块,用于根据所述待清理文件标识判断所述待清理文件是否已同步到所述云存储;文件删除模块,用于在所述待清理文件当前已失效且已同步到所述云存储的情况下,将所述待清理文件从所述本地缓存中删除。
根据本公开的再一方面,提供一种设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,所述处理器执行所述可执行指令时实现如上述任一种方法。
根据本公开的再一方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任一种方法。
本公开的实施例提供的数据处理方法,根据获取的文件操作请求在本地缓存中进行文件操作,将本地缓存与云存储进行将本地缓存的数据同步到云存储的正向同步或将云存储的数据同步到本地缓存的反向同步,通过将本地缓存与云存储统一管理,可实现当网络环境不稳定的时用户业务***访问本地缓存在业务***侧的数据,在网络恢复之后再进行本地缓存与云存储的数据同步,从而可提高使用云存储的业务***的稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。
图1示出本公开实施例中一种***结构的示意图。
图2示出本公开实施例中一种数据处理方法的流程图。
图3示出了图2中所示的步骤S202在一实施例中的处理过程示意图。
图4根据图2和图3示出了一种请求处理流程示意图。
图5示出了图2中所示的步骤S204在一实施例中的处理过程示意图。
图6示出了本公开实施例中一种文件写入流程中的数据流转示意图。
图7示出了图2中所示的步骤S204在另一实施例中的处理过程示意图。
图8示出了本公开实施例中一种文件读取流程中的数据流转示意图。
图9是根据一示例性实施例示出的一种数据清理方法的流程图。
图10示出了本公开实施例中一种数据清理流程示意图。
图11根据图2至图10示出了一种文件读写处理***的架构图。
图12根据图2至图11示出了一种缓存文件***的架构图。
图13示出本公开实施例中一种数据处理装置的框图。
图14示出本公开实施例中另一种数据处理装置的框图。
图15示出本公开实施例中一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。符号“/”一般表示前后关联对象是一种“或”的关系。
在本公开中,除非另有明确的规定和限定,“连接”等术语应做广义理解,例如,可以是电连接或可以互相通讯;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
用户业务***在使用云存储的过程中,根据其数据访问频率的不同可以分为热数据和冷数据,业务***对热数据的访问性能要求较高。如上所述,跨城域网访问可能遇到网络不稳定、带宽不足等问题,会影响云存储的性能和稳定性。
因此,本公开提供了一种数据处理方法,通过将本地缓存与云存储统一管理,可实现当网络环境不稳定的时用户业务***访问本地缓存在业务***侧的数据,在网络恢复之后再进行本地缓存与云存储的数据同步,从而可提高使用云存储的业务***的稳定性。
图1示出了可以应用本公开的数据处理方法或数据处理装置的示例性***架构10。
如图1所示,***架构10可以包括终端设备102、网络104和服务器106。终端设备102可以是具有显示屏并且支持输入、输出的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、虚拟现实设备、智能家居等等。网络104用以在终端设备102和服务器106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。服务器106可以是提供各种服务的服务器或服务器集群等。
用户可以使用终端设备102通过网络104与服务器106交互,以接收或发送数据等。例如服务器106可以包括用于缓存调度的处理服务器,网络104可以为局域网络,用户可对终端设备102上的业务***进行操作,输入文件操作请求,终端设备102通过网络104将文件操作请求传输到服务器106进行处理。又例如服务器106可以包括本地存储服务器和用于实现文件***的云存储服务器集群,网络104可以为互联网络,用于缓存调度的处理服务器可通过网络104对本地缓存和云存储进行数据同步。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2是根据一示例性实施例示出的一种数据处理方法的流程图。如图2所示的方法例如可以应用于上述***的服务器端,也可以应用于上述***的终端设备。
参考图2,本公开实施例提供的方法20可以包括以下步骤。
在步骤S202中,获取文件操作请求。文件操作请求可以包括文件写入请求和文件读取请求。
在一些实施例中,本公开实施例提供的数据处理方法可以通过基于用户态文件***开发的缓存文件***来实施。用户态文件***(Filesystem in Userspace,FUSE,又称为用户空间文件***)是Linux***提供的用于文件***开发的框架,可以在操作***的用户空间来定义实现自己的文件***。业务***的文件操作请求通过缓存文件***进行处理,相应转发到网络文件***(Network Filesystem,NFS)或日志文件***(X Filesystem,XFS)进行文件操作,具体实施方式可参照图3和图4。
在一些实施例中,通过可移植操作***接口(Portable Operating SystemInterface of UNIX,POSIX)标准文件***接口获取文件操作请求。缓存文件***可提供标准的POSIX文件***接口,因此任何支持POSIX标准接口的业务***的应用都可以零改造对接。
在步骤S204中,根据文件操作请求在本地缓存中进行文件操作,将本地缓存与云存储进行正向同步或反向同步,其中,正向同步为将本地缓存的数据同步到云存储,反向同步为将云存储的数据同步到本地缓存。
在一些实施例中,例如,文件操作请求为文件写入请求时,客户在业务***通过标准接口写入的数据会优先进入本地缓存,同时生成操作日志,并返回操作结果,后端数据同步模块根据操作日志将数据正向同步到云存储。具体实施方式可参考图5、图6和图11。
在一些实施例中,例如,文件操作请求为文件读取请求时,业务***发送的文件读取请求会优先在本地缓存处理读取,当本地缓存不存在所需文件时,将不存在的文件标识(例如文件名)放到反向同步队列中(数据同步模块会将队列中的文件从云存储同步到本地缓存),反向同步完成后再返回。具体实施方式可参考图7、图8和图11。
根据本公开实施例提供的数据处理方法,根据获取的文件操作请求在本地缓存中进行文件操作,将本地缓存与云存储进行将本地缓存的数据同步到云存储的正向同步或将云存储的数据同步到本地缓存的反向同步,通过将本地缓存与云存储统一管理,可实现当网络环境不稳定的时用户业务***访问本地缓存在业务***侧的数据,在网络恢复之后再进行本地缓存与云存储的数据同步,从而可提高使用云存储的业务***的稳定性。
图3示出了图2中所示的步骤S202在一实施例中的处理过程示意图。如图3所示,本公开实施例中,上述步骤S202可以进一步包括以下步骤。
步骤S302,在操作***的内核空间中截获文件操作请求对应的***调用信息,***调用信息根据业务***发送的文件操作请求产生。
步骤S304,将***调用信息转发到操作***的用户空间。
步骤S306,通过操作***的用户空间的预设程序解析***调用信息,获取文件操作请求。
在一些实施例中,业务***通过缓存文件***请求读写文件时,会产生***调用,在操作***内核中截获***调用的信息,并转发到用户空间,用户空间的程序解析调用信息后将请求转发到具体的文件***上面,以进行文件的读写。
在一些实施例中,图4根据图2和图3示出了一种请求处理流程示意图。如图4所示,客户通过业务***的应用4002进行操作,调用文件***接口(S402)对导出目录下的文件进行操作,在操作***内核4004拦截到这个目录下的文件操作请求,并将请求信息传到(S404)用户空间文件***4006的请求调度模块,请求调度模块先从在缓存中操作数据,并根据缓存策略和请求类型调度(S406)后端实际文件***4008,确定是否需要记录同步日志以及同步类型,然后返回响应,最后返回文件操作结果。
根据本公开实施例提供的文件操作请求处理方法,通过缓存文件***可以自由灵活地将不同的文件***组合起来,利用用户空间文件***将高速可靠的缓存文件***和低成本大容量易扩展的云端文件***结合起来,提供统一的、支持标准接口的文件***,而且业务应用程序不用进行任何改造。
图5示出了图2中所示的步骤S204在一实施例中的处理过程示意图。如图5所示,本公开实施例中,上述步骤S204可以进一步包括以下步骤。
步骤S502,根据文件写入请求获取待写入文件数据。
在一些实施例中,文件写入请求的形式例如可以是待写入文件数据的链接,也可以是待写入文件数据本身。
步骤S504,将待写入文件数据写入本地缓存,生成操作日志。
步骤S506,根据操作日志将待写入文件数据写入云存储。
在一些实施例中,例如,图6示出了一种文件写入流程中的数据流转示意图,如图6所示,当客户业务***602向缓存文件***604发起写请求时,缓存文件***604首先将数据写入本地缓存(缓存盘608),并将写入的操作记录更新到操作日志606;当***触发同步操作时,正向同步模块610会根据操作日志在云存储612进行同样的文件数据写入操作。
根据本公开实施例提供的文件写入方法,可以将热数据按照一定的策略缓存在靠近业务***的高速缓存里面,当网络环境不稳定的时候,用户业务***依然可以正常从本地缓存中访问业务***侧的数据,缓存在网络恢复之后再进行数据同步,以保证云存储与本地存储的数据一致性。由于热数据存放在业务***侧,从而解决了用户对性能的要求,同时还可以提高访问速度,降低带宽成本。
图7示出了图2中所示的步骤S204在另一实施例中的处理过程示意图。如图7所示,本公开实施例中,上述步骤S204可以进一步包括以下步骤。
步骤S702,根据文件读取请求获取待读取文件标识。
步骤S704,根据待读取文件标识判断本地缓存中是否已存储待读取文件标识对应的待读取文件。
步骤S706,在本地缓存中未存储待读取文件的情况下,将待读取文件标识置于反向同步队列中,以使将云存储中的待读取文件同步到本地缓存中。
步骤S708,在本地缓存中已存储待读取文件的情况下,根据待读取文件标识从本地缓存中读取待读取文件。
在一些实施例中,例如,图8示出了一种文件读取流程中的数据流转示意图,如图8所示,当客户业务***802向缓存文件***804发起读请求时,缓存文件***804首先从缓存盘808中查找该待读取文件,如果所需数据存在则直接返回,如果不存在,就将该待读取文件标识放到请求队列806中,同时会触发反相同步模块810消费该请求队列806,反相同步模块810会逐个进行反向同步,将对应文件数据从云存储812同步到缓存盘808,同步完成后缓存文件***804再将所需数据返回给客户业务***802。
根据本公开实施例提供的文件读取方法,通过将转热的数据转移到缓存进行读取,用户在使用云存储时将可以平滑短时网络抖动、中断的影响。
图9是根据一示例性实施例示出的一种数据清理方法的流程图。图9所示的方法可用于上述的缓存文件***。
参考图9,本公开实施例提供的方法90可以包括以下步骤。
在步骤S902中,获取待清理文件标识及待清理文件标识对应的待清理文件的失效时间,待清理文件已存储在本地缓存中。
在步骤S904中,根据失效时间判断待清理文件当前是否失效。
在步骤S906中,根据待清理文件标识判断待清理文件是否已同步到云存储。
在步骤S908中,在待清理文件当前已失效且已同步到云存储的情况下,将待清理文件从本地缓存中删除。
在一些实施例中,图10示出了一种数据清理流程示意图,以图10为例,可先判断待清理文件是否失效再判断其是否已同步到云端存储。如图10所示,缓存调度模块指定清理目录、文件失效时间并触发缓存清理操作(S1002),缓存文件***中的缓存清理模块会遍历本地存储指定目录下的所有文件(S1004),先检查当前时间是否超过当前文件的失效时间(S1006),若否则返回步骤S1004检查下一个文件,若是则检查其是否已同步到云端存储(S1008),若否则返回步骤S1004检查下一个文件,若是则将其加入删除队列并删除(S1010)。
在一些实施例中,也可先判断待清理文件是否已同步到云端存储再判断其是否失效,其余步骤与图10类似,此处不再赘述。
根据本公开实施例提供的文件读取方法,通过在文件***内部对缓存数据进行管理,将冷却的数据转移到云端存储***,可以提高访问速度,降低带宽成本。
图11根据图2至图10示出了一种文件读写处理***的架构图。如图11所示,业务***1102通过POSIX标准接口与缓存1104相连接,业务***1102可以本地接入缓存1104或云端接入缓存1104。缓存1104包括三部分:缓存文件***11044、数据同步模块11046、缓存清理模块11048。缓存调度模块1104中的请求调度模块可以处理文件操作请求,具体实施方式可参照图3和图4。缓存调度模块1104还可以控制本地存储1106和云存储1108之间的文件数据同步,具体同步方法可参照图5至图8。缓存调度模块1104还可以控制缓存盘11049过期数据清理,其中缓存盘11049为本地存储1106中的本地缓存空间对应的虚拟磁盘,作为缓存文件***虚拟缓存空间。通过缓存文件***将本地存储和云存储统一管理起来,提供统一的、支持标准接口的文件***,客户的业务***在接入的过程中不需要进行任何改造。
图12根据图2至图11示出了一种缓存文件***的架构图。如图12所示,缓存文件***1204基于用户态文件***开发,提供标准的POSIX文件***接口1203,业务***任何支持POSIX标准接口的应用程序1202可以零改造对接。业务***通过缓存文件***1204读写文件时,会产生***调用,在操作***内核中***调用信息首先被虚拟文件***1206截获,其中,虚拟文件***1206定义了一套标准的接口,根据挂载路径对应的文件***类型将调用具体的实现,如XFS、EXT4(fourth Extended filesystem,***扩展文件***)、FUSE等等。调用虚拟文件***1206例如FUSE的相关接口后,FUSE内核模块将***调用信息传到用户空间,然后运行在用户空间的缓存文件***1204可根据***调用信息进行请求调度(S12042)、记录操作日志(S12044)等操作,缓存文件***1204还提供了更新配置、数据同步、缓存清理等的接口12046。
下面对本公开实施例提供的方法的应用场景进行描述。
场景1:某医院每天会产生大量的影像文件,这些文件原来保存在医院本地的硬盘上,但影像文件的大量增长很快超出了本地磁盘的容量。医院希望将影像保存在云端文件***中。同时为了保证性能和可靠性,最近半年的影像全量保存在本地,半年以前的影像在需要时也要能读取到,并且读取时,不需要应用切换存储目录。采用本公开实施例提供的方法,通过缓存文件***统一管理本地硬盘存储和云端文件***,该医院可充分利用了本地原有的存储资源和云端的资源,自动实现了分级存储,并且医院的各种***不用经过任何改造。
场景2:某动画渲染企业在本地网络附属存储(Network Attached Storage,NAS)中保存有大量的素材文件,该企业在全国有多个分支机构,各个机构的员工需要进行写作,加工生成素材文件。由于动画渲染需要大量的算力。为了节省成本,可采用云公司的图形处理器(Graphics Processing Unit,GPU)进行渲染。渲染的时候如果每次都从本地NAS读取文件,那么需要大量的传输时间,可采用在云端缓存用过的且没被更新的文件来加快渲染速度。但是由于渲染软件是一种商业软件,用户没办法根据这样的需求对软件进行改造。可采用了本公开实施例提供的方法,给用户提供了一个基于用户空间的缓存文件***,统一管理用户本地NAS和云端存储空间,可满足用户的需求。
图13是根据一示例性实施例示出的一种数据处理装置的框图。如图13所示的装置例如可以应用于上述***的服务器端,也可以应用于上述***的终端设备。
参考图13,本公开实施例提供的装置130可以包括操作请求获取模块1302和文件操作模块1304。
操作请求获取模块1302可用于获取文件操作请求。
文件操作模块1304可用于根据文件操作请求在本地缓存中进行文件操作,将本地缓存与云存储进行正向同步或反向同步,其中,正向同步为将本地缓存的数据同步到云存储,反向同步为将云存储的数据同步到本地缓存。
图14是根据一示例性实施例示出的另一种数据处理装置的框图。如图14所示的装置例如可以应用于上述***的服务器端,也可以应用于上述***的终端设备。
参考图14,本公开实施例提供的装置140可以包括操作请求获取模块1402、文件操作模块1404、待清理文件信息获取模块1406、失效判断模块1408、同步判断模块1410和文件删除模块1412,其中,操作请求获取模块1402可以包括***调用信息截获模块14022、***调用信息转发模块14024和***调用信息解析模块14026,文件操作模块1404可以包括待写入文件数据获取模块14042、文件写入模块14044、正向同步模块14046、待读取文件标识获取模块14048、缓存判断模块140410、反向同步模块140412、文件读取模块140414。
操作请求获取模块1402可用于获取文件操作请求。文件操作请求包括文件写入请求和文件读取请求。
操作请求获取模块1402还可用于通过可移植操作***接口标准文件***接口获取文件操作请求。
***调用信息截获模块14022可用于在操作***的内核空间中截获文件操作请求对应的***调用信息,***调用信息根据业务***发送的文件操作请求产生。
***调用信息转发模块14024可用于将***调用信息转发到操作***的用户空间。
***调用信息解析模块14026可用于通过操作***的用户空间的预设程序解析***调用信息,获取文件操作请求。
文件操作模块1404可用于根据文件操作请求在本地缓存中进行文件操作,将本地缓存与云存储进行正向同步或反向同步,其中,正向同步为将本地缓存的数据同步到云存储,反向同步为将云存储的数据同步到本地缓存。
待写入文件数据获取模块14042可用于根据文件写入请求获取待写入文件数据。
文件写入模块14044可用于将待写入文件数据写入本地缓存,生成操作日志。
正向同步模块14046可用于根据操作日志将待写入文件数据写入云存储。
待读取文件标识获取模块14048可用于根据文件读取请求获取待读取文件标识。
缓存判断模块140410可用于根据待读取文件标识判断本地缓存中是否已存储待读取文件标识对应的待读取文件。
反向同步模块140412可用于在本地缓存中未存储待读取文件的情况下,将待读取文件标识置于反向同步队列中,以使将云存储中的待读取文件同步到本地缓存中。
文件读取模块140414可用于在本地缓存中已存储待读取文件的情况下,根据待读取文件标识从本地缓存中读取待读取文件。
待清理文件信息获取模块1406可用于获取待清理文件标识及待清理文件标识对应的待清理文件的失效时间,待清理文件已存储在本地缓存中。
失效判断模块1408可用于根据失效时间判断待清理文件当前是否失效。
同步判断模块1410可用于根据待清理文件标识判断待清理文件是否已同步到云存储。
文件删除模块1412可用于在待清理文件当前已失效且已同步到云存储的情况下,将待清理文件从本地缓存中删除。
本公开实施例提供的装置中的各个模块的具体实现可以参照上述方法中的内容,此处不再赘述。
图15示出本公开实施例中一种电子设备的结构示意图。需要说明的是,图15示出的设备仅以计算机***为示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图15所示,设备1500包括中央处理单元(CPU)1501,其可以根据存储在只读存储器(ROM)1502中的程序或者从存储部分1508加载到随机访问存储器(RAM)1503中的程序而执行各种适当的动作和处理。在RAM 1503中,还存储有设备1500操作所需的各种程序和数据。CPU1501、ROM 1502以及RAM 1503通过总线1504彼此相连。输入/输出(I/O)接口1505也连接至总线1504。
以下部件连接至I/O接口1505:包括键盘、鼠标等的输入部分1506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1507;包括硬盘等的存储部分1508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信处理。驱动器1510也根据需要连接至I/O接口1505。可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入存储部分1508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1509从网络上被下载和安装,和/或从可拆卸介质1511被安装。在该计算机程序被中央处理单元(CPU)1501执行时,执行本公开的***中限定的上述功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括操作请求获取模块和文件操作模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,操作请求获取模块还可以被描述为“通过可移植操作***接口标准文件***接口获取文件操作请求的模块”。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
获取文件操作请求;根据文件操作请求在本地缓存中进行文件操作,将本地缓存与云存储进行正向同步或反向同步,其中,正向同步为将本地缓存的数据同步到云存储,反向同步为将云存储的数据同步到本地缓存。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取文件操作请求;
根据所述文件操作请求在本地缓存中进行文件操作,将所述本地缓存与云存储进行正向同步或反向同步,其中,所述正向同步为将所述本地缓存的数据同步到所述云存储,所述反向同步为将所述云存储的数据同步到所述本地缓存。
2.根据权利要求1所述的方法,其特征在于,所述文件操作请求包括文件写入请求;
所述根据所述文件操作请求在本地缓存中进行文件操作,将所述本地缓存与云存储进行正向同步或反向同步包括:
根据所述文件写入请求获取待写入文件数据;
将所述待写入文件数据写入所述本地缓存,生成操作日志;
根据所述操作日志将所述待写入文件数据写入所述云存储。
3.根据权利要求1所述的方法,其特征在于,所述文件操作请求包括文件读取请求;
所述根据所述文件操作请求在本地缓存中进行文件操作,将所述本地缓存与云存储进行正向同步或反向同步包括:
根据所述文件读取请求获取待读取文件标识;
根据所述待读取文件标识判断所述本地缓存中是否已存储所述待读取文件标识对应的待读取文件;
在所述本地缓存中未存储所述待读取文件的情况下,将所述待读取文件标识置于反向同步队列中,以使将所述云存储中的待读取文件同步到所述本地缓存中。
4.根据权利要求3所述的方法,其特征在于,所述根据所述文件操作请求在本地缓存中进行文件操作,将所述本地缓存与云存储进行正向同步或反向同步还包括:
在所述本地缓存中已存储所述待读取文件的情况下,根据所述待读取文件标识从所述本地缓存中读取所述待读取文件。
5.根据权利要求1所述的方法,其特征在于,所述获取文件操作请求包括:
通过可移植操作***接口标准文件***接口获取所述文件操作请求。
6.根据权利要求1所述的方法,其特征在于,所述获取文件操作请求包括:
在操作***的内核空间中截获所述文件操作请求对应的***调用信息,所述***调用信息根据业务***发送的所述文件操作请求产生;
将所述***调用信息转发到所述操作***的用户空间;
通过所述操作***的用户空间的预设程序解析所述***调用信息,获取所述文件操作请求。
7.根据权利要求1所述的方法,其特征在于,还包括:
获取待清理文件标识及所述待清理文件标识对应的待清理文件的失效时间,所述待清理文件已存储在所述本地缓存中;
根据所述失效时间判断所述待清理文件当前是否失效;
根据所述待清理文件标识判断所述待清理文件是否已同步到所述云存储;
在所述待清理文件当前已失效且已同步到所述云存储的情况下,将所述待清理文件从所述本地缓存中删除。
8.一种数据处理装置,其特征在于,包括:
操作请求获取模块,用于获取文件操作请求;
文件操作模块,用于根据所述文件操作请求在本地缓存中进行文件操作,将所述本地缓存与云存储进行正向同步或反向同步,其中,所述正向同步为将所述本地缓存的数据同步到所述云存储,所述反向同步为将所述云存储的数据同步到所述本地缓存。
9.一种设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110762931.5A CN113407506A (zh) | 2021-07-06 | 2021-07-06 | 数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110762931.5A CN113407506A (zh) | 2021-07-06 | 2021-07-06 | 数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113407506A true CN113407506A (zh) | 2021-09-17 |
Family
ID=77685299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110762931.5A Pending CN113407506A (zh) | 2021-07-06 | 2021-07-06 | 数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113407506A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961510A (zh) * | 2021-10-19 | 2022-01-21 | 北京百度网讯科技有限公司 | 一种文件处理方法、装置、设备及存储介质 |
CN114461146A (zh) * | 2022-01-26 | 2022-05-10 | 北京百度网讯科技有限公司 | 云存储的数据处理方法、装置、***、设备、介质及产品 |
CN115905306A (zh) * | 2022-12-26 | 2023-04-04 | 北京滴普科技有限公司 | 一种面向olap分析数据库的本地缓存方法、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014158A (zh) * | 2010-11-29 | 2011-04-13 | 北京兴宇中科科技开发股份有限公司 | 一种云存储服务客户端高效细粒度数据缓存***与方法 |
CN102035881A (zh) * | 2010-11-19 | 2011-04-27 | 清华大学 | 一种云端存储***的数据缓存方法 |
CN103037004A (zh) * | 2012-12-21 | 2013-04-10 | 曙光信息产业(北京)有限公司 | 云存储***操作的实现方法和装置 |
CN103605798A (zh) * | 2013-12-05 | 2014-02-26 | 上海够快网络科技有限公司 | 一种直接操作云端存储文件的方法 |
CN104219283A (zh) * | 2014-08-06 | 2014-12-17 | 上海爱数软件有限公司 | 基于云存储的文件按需下载和自动同步方法及其装置 |
CN104580437A (zh) * | 2014-12-30 | 2015-04-29 | 创新科存储技术(深圳)有限公司 | 一种云存储客户端及其高效数据访问方法 |
CN106570108A (zh) * | 2016-11-01 | 2017-04-19 | 中国科学院计算机网络信息中心 | 一种云存储环境下海量数据自适应读取优化方法及*** |
CN111581175A (zh) * | 2020-04-29 | 2020-08-25 | 上海爱数信息技术股份有限公司 | 一种文件存储网关***及其数据迁移方法 |
CN111966533A (zh) * | 2020-07-23 | 2020-11-20 | 招联消费金融有限公司 | 电子文件管理方法、装置、计算机设备和存储介质 |
-
2021
- 2021-07-06 CN CN202110762931.5A patent/CN113407506A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035881A (zh) * | 2010-11-19 | 2011-04-27 | 清华大学 | 一种云端存储***的数据缓存方法 |
CN102014158A (zh) * | 2010-11-29 | 2011-04-13 | 北京兴宇中科科技开发股份有限公司 | 一种云存储服务客户端高效细粒度数据缓存***与方法 |
CN103037004A (zh) * | 2012-12-21 | 2013-04-10 | 曙光信息产业(北京)有限公司 | 云存储***操作的实现方法和装置 |
CN103605798A (zh) * | 2013-12-05 | 2014-02-26 | 上海够快网络科技有限公司 | 一种直接操作云端存储文件的方法 |
CN104219283A (zh) * | 2014-08-06 | 2014-12-17 | 上海爱数软件有限公司 | 基于云存储的文件按需下载和自动同步方法及其装置 |
CN104580437A (zh) * | 2014-12-30 | 2015-04-29 | 创新科存储技术(深圳)有限公司 | 一种云存储客户端及其高效数据访问方法 |
CN106570108A (zh) * | 2016-11-01 | 2017-04-19 | 中国科学院计算机网络信息中心 | 一种云存储环境下海量数据自适应读取优化方法及*** |
CN111581175A (zh) * | 2020-04-29 | 2020-08-25 | 上海爱数信息技术股份有限公司 | 一种文件存储网关***及其数据迁移方法 |
CN111966533A (zh) * | 2020-07-23 | 2020-11-20 | 招联消费金融有限公司 | 电子文件管理方法、装置、计算机设备和存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961510A (zh) * | 2021-10-19 | 2022-01-21 | 北京百度网讯科技有限公司 | 一种文件处理方法、装置、设备及存储介质 |
CN113961510B (zh) * | 2021-10-19 | 2023-11-03 | 北京百度网讯科技有限公司 | 一种文件处理方法、装置、设备及存储介质 |
CN114461146A (zh) * | 2022-01-26 | 2022-05-10 | 北京百度网讯科技有限公司 | 云存储的数据处理方法、装置、***、设备、介质及产品 |
CN114461146B (zh) * | 2022-01-26 | 2024-05-07 | 北京百度网讯科技有限公司 | 云存储的数据处理方法、装置、***、设备、介质及产品 |
CN115905306A (zh) * | 2022-12-26 | 2023-04-04 | 北京滴普科技有限公司 | 一种面向olap分析数据库的本地缓存方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11740891B2 (en) | Providing access to a hybrid application offline | |
US11516288B2 (en) | Synchronized content library | |
CN113407506A (zh) | 数据处理方法、装置、设备及存储介质 | |
US20180046692A1 (en) | Secure deletion operations in a wide area network | |
CN109683826A (zh) | 用于分布式存储***的扩容方法和装置 | |
CN109714229B (zh) | 一种分布式存储***的性能瓶颈定位方法 | |
CN115517009B (zh) | 集群管理方法、集群管理装置、存储介质与电子设备 | |
CN109165078B (zh) | 一种虚拟分布式服务器及其访问方法 | |
WO2024082857A1 (zh) | 数据迁移的方法、***及相关装置 | |
CN113050890A (zh) | 一种数据迁移方法和装置 | |
CN110795495A (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
CN112286448B (zh) | 对象访问方法、装置、电子设备及机器可读存储介质 | |
US20170091253A1 (en) | Interrupted synchronization detection and recovery | |
CN113742376A (zh) | 一种同步数据的方法、第一服务器以及同步数据的*** | |
CN110851192A (zh) | 一种响应降级开关配置的方法和装置 | |
CN116938961B (zh) | 用于数据同步的***、方法及数据读取方法 | |
CN116010364B (zh) | 网盘文件状态的更新方法、装置、网盘及存储介质 | |
CN118035594B (zh) | 生产文档访问方法、装置、电子设备与计算机可读介质 | |
JPH1198448A (ja) | ビデオサーバ装置及びそのアクセス処理方法 | |
CN117370295A (zh) | 一种文件拷贝方法、装置、服务器及存储介质 | |
JP2023107766A (ja) | 外部ロケーションの同期 | |
CN113468127A (zh) | 数据缓存方法、装置、介质及电子设备 | |
CN114077639A (zh) | 数据写入方法、装置、电子设备和存储介质 | |
CN113254415A (zh) | 一种分布式文件***读请求处理方法及装置 | |
CN118170726A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220210 Address after: 100007 room 205-32, floor 2, building 2, No. 1 and No. 3, qinglonghutong a, Dongcheng District, Beijing Applicant after: Tianyiyun Technology Co.,Ltd. Address before: No.31, Financial Street, Xicheng District, Beijing, 100033 Applicant before: CHINA TELECOM Corp.,Ltd. |
|
TA01 | Transfer of patent application right |