CN111078632B - 一种文件数据的管理方法及装置 - Google Patents
一种文件数据的管理方法及装置 Download PDFInfo
- Publication number
- CN111078632B CN111078632B CN201911376246.8A CN201911376246A CN111078632B CN 111078632 B CN111078632 B CN 111078632B CN 201911376246 A CN201911376246 A CN 201911376246A CN 111078632 B CN111078632 B CN 111078632B
- Authority
- CN
- China
- Prior art keywords
- data
- sequence data
- file
- sequence
- file data
- 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
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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Exchange Systems With Centralized Control (AREA)
Abstract
本申请提供一种文件数据的管理方法及装置,所述方法用于数据控制层,包括:读取本地的文件数据,将每个文件数据生成对应的序列数据,并将每个文件数据对应的序列数据存储于目标位置;在接收到数据调用层发送的读取数据的请求的情况下,将与请求对应的序列数据返回至所述数据调用层;在接收到数据调用层的写入数据的情况下,将写入数据写入对应的序列数据中;在检测到目标位置中的序列数据变化的情况下,将变化的序列数据进行处理生成对应的更新文件数据,并将更新文件数据存储于本地,从而通过数据控制层实现数据的读取、修改和保存,无需数据调用层直接与本地的文件进行交互,降低了数据管理的复杂度。
Description
技术领域
本申请涉及数据存储技术领域,特别涉及一种文件数据的管理方法及装置、计算设备和计算机可读存储介质。
背景技术
对于多文件数据的管理,就是将整体的文件数据在存储时不是存储为一个文件数据,而是拆分为小的多个文件数据进行存储。
这样,当出现数据存储时,只需要将涉及修改的文件数据进行存储即可,从而减少了存储的数据量。
现有技术中,动态脚本语言lua语法简洁、运行速度快,已成为嵌入式脚本语言的最佳选择之一。现有技术中,在以lua为基础的数据调用层需要调用或修改对应的文件数据的情况下,直接向本地请求对应的文件数据,并实现相应的调用或修改。这需要通过维护文件列表来实现,增加了数据管理的复杂度。
发明内容
有鉴于此,本申请实施例提供了一种文件数据的管理方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
本申请实施例提供了一种文件数据的管理方法,所述方法用于数据控制层,包括:
读取本地的文件数据,将每个文件数据生成对应的序列数据,并将每个文件数据对应的序列数据存储于目标位置;
在接收到数据调用层发送的读取数据的请求的情况下,将与所述请求对应的序列数据返回至所述数据调用层;
在接收到数据调用层的写入数据的情况下,将所述写入数据写入对应的所述序列数据中;
在检测到目标位置中的所述序列数据变化的情况下,将变化的所述序列数据进行处理生成对应的更新文件数据,并将所述更新文件数据存储于本地。
可选地,所述方法还包括:
在所述序列数据存储完毕的情况下,发送存储完毕通知至数据调用层;
在接收到所述存储完毕通知的情况下,所述数据调用层发送读取数据的请求。
可选地,在检测到目标位置中的所述序列数据变化之前,还包括:
在确定任一文件数据对应的序列数据的版本修改的情况下,发送版本校对通知至数据调用层;
接收所述数据调用层发送的版本校对通知对应的版本更新文件数据;
将所述版本更新文件数据生成新的序列数据写入目标位置,并覆盖版本更新前的序列数据。
可选地,所述方法还包括:
在所述序列数据存储完毕的情况下,启动循环监控协程对所述目标位置进行监控;
在检测到目标位置中的所述序列数据变化的情况下,将所述变化的序列数据进行处理生成对应的更新文件数据,包括:
在所述循环监控协程监控到所述目标位置中的所述序列数据的标记发生变化的情况下,将所述变化的标记对应的序列数据进行处理生成对应的更新文件数据,其中,每个序列数据具有对应的标记。
可选地,所述方法还包括:在接收到退出命令的情况下,清理所述目标位置中的序列数据,关闭循环监控协程。
可选地,将每个文件数据对应的序列数据存储于目标位置,包括:将每个文件数据对应的序列数据存储于缓存。
可选地,将每个文件数据生成对应的序列数据,包括:
将每个所述文件数据反序列化,生成对应的一维数组;
将所述一维数组进行解析,得到序列数据;
将变化的所述序列数据进行处理生成对应的更新文件数据,包括:
将变化的所述序列数据进行解析,得到一维更新数组;
将所述一维更新数组进行序列化,生成对应的更新文件数据。
本申请实施例提供了一种文件数据的管理装置,设置于数据控制层,所述装置包括:
读取模块,被配置为读取本地的文件数据,将每个文件数据生成对应的序列数据,并将每个文件数据对应的序列数据存储于目标位置;
请求处理模块,被配置为在接收到数据调用层发送的读取数据的请求的情况下,将与所述请求对应的序列数据返回至所述数据调用层;
写入数据处理模块,被配置为在接收到数据调用层的写入数据的情况下,将所述写入数据写入对应的所述序列数据中;
存储模块,被配置为在检测到目标位置中的所述序列数据变化的情况下,将变化的所述序列数据进行处理生成对应的更新文件数据,并将所述更新文件数据存储于本地。
本申请实施例提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述的文件数据的管理方法的步骤。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述的文件数据的管理方法的步骤。
本申请提供的文件数据的管理方法及装置,通过在数据调用层和本地之间设置数据控制层,可以将每个文件数据对应的序列数据存储于目标位置,以在接收到数据调用层请求数据的情况下,将对应的序列数据返回至数据调用层;在接收到数据调用层的写入数据的情况下,将写入数据写入对应的所述序列数据中;在检测到目标位置中的序列数据变化的情况下,将变化的序列数据进行处理生成对应的更新文件数据,并将更新文件数据存储于本地,从而通过数据控制层实现数据的读取、修改和保存,无需数据调用层直接与本地的文件进行交互,降低了数据管理的复杂度。
在确定任一文件数据对应的序列数据的版本修改的情况下,发送版本校对通知至数据调用层;接收数据调用层发送的版本更新文件数据并生成新的序列数据写入目标位置,并覆盖版本更新列数据,从而可以实现版本升级,避免在文件数据发生大的变化的情况下,新的文件数据无法兼容旧的文件数据。
附图说明
图1是本申请一实施例的系统架构的结构示意图;
图2是本申请一实施例的文件数据的管理方法的流程示意图;
图3是本申请另一实施例的文件数据的管理方法的流程示意图;
图4是本申请一实施例的文件数据的管理方法涉及的系统交互示意图;
图5是本申请一实施例的文件数据的管理装置的结构示意图;
图6是本申请一实施例的计算设备的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
Lua:Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,并且更容易理解和维护。
在本申请中,提供了一种文件数据的管理方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
首先,对本实施例涉及的系统架构进行示意性的说明,参见图1,系统包括:
数据调用层:用于调用序列数据,可以通过lua脚本的UIPlayerprefs控件来实现。
数据控制层:用于实现序列数据的控制逻辑和管理,可以通过C#的UIstorage控件来实现,仅向数据调用层提供必要的接口,以通过接口与数据调用层实现序列数据的相互传输。接口可以通过luaInterface控件来实现。
数据控制层将序列数据以luatable的形式存储于缓存中,每个文件数据对应一个luatable。当需要进行存储时,解析luatable转化为一维数组,再通过序列化将一维数组转为序列数据,存储到本地的文档中。
其中,一维数组的形式可以为C#中的List<Node>,再通过序列化将List<Node>转化为文件数据存储于本地的存储区。
本地存储空间:用于存储文件数据,其中,文件数据可以包括多个,每个文件数据对应一个文件。
本申请实施例还公开了一种文件数据的管理方法,所述方法用于数据控制层,参见图2,包括下述步骤201~204:
201、读取本地的文件数据,将每个文件数据生成对应的序列数据,并将每个文件数据对应的序列数据存储于目标位置。
具体地,文件数据可以为多个,每个文件数据具有对应的序列数据。对于一个容量较大的文件,可以在存储阶段生成多个小文件,在后续阶段进行修改时,可以只修改并存储修改的小文件对应的序列数据,从而减少了存储的数据量。
本实施例中,目标位置可以为缓存,将序列数据存储于缓存,这样在后续步骤中,在数据调用层读取数据的情况下,可以直接将缓存中的序列数据传输给数据调用层;在收到数据调用层的新增数据后,也可以直接将新增数据写入缓存中,从而读写方便。
具体地,将每个文件数据生成对应的序列数据,包括:
将每个所述文件数据反序列化,生成对应的一维数组;
将所述一维数组进行解析,得到序列数据。
例如本地有四个文件数据A、B、C、D,将文件数据A、B、C、D分别生成对应的序列数据a、b、c、d,并将序列数据a、b、c、d存储于缓存。
202、在接收到数据调用层发送的读取数据的请求的情况下,将与所述请求对应的序列数据返回至所述数据调用层。
具体地,存储于缓存中的每个序列数据携带有对应的标记,以区分不同的序列数据。
数据调用层发送的请求中可以携带序列数据的标记,数据控制层根据标记在缓存中查找对应的序列数据,并将序列数据返回至数据调用层。
203、在接收到数据调用层的写入数据的情况下,将所述写入数据写入对应的所述序列数据中。
可选地,在数据调用层向数据控制层写入数据之前,需要数据控制层确定缓存中的序列数据加载完毕。所以,在步骤203之前,还包括下述步骤S2031~S2032:
S2031、在序列数据存储完毕的情况下,发送存储完毕通知至数据调用层。
具体地,数据控制层可以先读取本地的存储空间内的文件列表,在获取文件列表后,再读取文件列表对应的文件数据。
数据控制层将获取到的文件数据转换为序列数据并存储于缓存中,并在存储完毕后发送存储完毕通知。
S2032、在接收到所述存储完毕通知的情况下,所述数据调用层发送读取数据的请求。
该存储完毕通知可以发送至数据调用层并存储。所述数据调用层发送读取数据的请求之前,需要先查找是否接收并存储有该存储完毕通知,若是,再发送该读取数据的请求至数据控制层,若否,则等待。
需要注意的是,该读取数据的请求可以由数据调用层预先生成,并在接收到存储完毕通知后再发送;也可以在数据调用层接收到存储完毕通知后再生成。
204、在检测到目标位置中的所述序列数据变化的情况下,将变化的所述序列数据进行处理生成对应的更新文件数据,并将所述更新文件数据存储于本地。
可选地,将变化的所述序列数据进行处理生成对应的更新文件数据,包括:
将变化的所述序列数据进行解析,得到一维更新数组;
将所述一维更新数组进行序列化,生成对应的更新文件数据。
可见,将序列数据生成文件数据的过程,与前述文件数据生成序列数据的步骤相反。对于数据控制层,可以实现序列数据与文件数据之间的格式切换。
本申请提供的文件数据的管理方法,通过在数据调用层和本地之间设置数据控制层,可以将每个文件数据对应的序列数据存储于目标位置,以在接收到数据调用层请求数据的情况下,将对应的序列数据返回至数据调用层;在接收到数据调用层的写入数据的情况下,将写入数据写入对应的所述序列数据中;在检测到目标位置中的序列数据变化的情况下,将变化的序列数据进行处理生成对应的更新文件数据,并将更新文件数据存储于本地,从而通过数据控制层实现数据的读取、修改和保存,无需数据调用层直接与本地的文件进行交互,降低了数据管理的复杂度。
本申请实施例还公开了一种文件数据的管理方法,参见图3,包括下述步骤301~308:
301、数据控制层读取本地的文件数据,将每个文件数据生成对应的序列数据,并将每个文件数据对应的序列数据存储于目标位置。
302、数据控制层在接收到数据调用层发送的读取数据的请求的情况下,将与所述请求对应的序列数据返回至所述数据调用层。
303、数据控制层在接收到数据调用层的写入数据的情况下,将所述写入数据写入对应的所述序列数据中,然后执行步骤307。
其中,每个序列数据携带有对应的标记。例如序列数据a10的标记为a10,序列数据b11的标记为b11,序列数据b12的标记为b12,序列数据b13的标记为b13,序列数据c10的标记为c10。
在一种具体的应用场景下,数据调用层的写入数据为向文件A对应的序列数据a10中写入数据。在写入数据后,序列数据a10的标记由a10更改为a100。
本实施例中,步骤301~303与前述实施例的步骤201~203一致,对于步骤201~203的具体解释,本实施例便不再赘述。
304、数据控制层在确定任一文件数据对应的序列数据的版本修改的情况下,发送版本校对通知至数据调用层。
具体地,判断版本是否修改,可以以版本号作为依据。版本修改的方式可以有多种,例如主动触发修改、定时自动修改等。
其中,版本校对通知中携带更新后的版本号。例如缓存中的文件数据A对应的序列数据a10对应的版本号为1.1,需要升级为新的版本号为2.1的序列数据a11,则发送包含有新的版本号2.1、序列数据对应的文件数据A的版本校对通知至数据调用层。
305、数据控制层接收所述数据调用层发送的版本校对通知对应的版本更新文件数据。
其中,该版本更新文件数据可以为预先存储于可以被数据调用层调用的存储区域等待被调用。
在一种具体应用的场景下,版本更新文件数据可以为多个,例如文件A对应的版本2.1的版本更新文件数据a11’,文件B对应的版本2.0的版本更新文件数据b11’,文件C对应的版本3.0的版本更新文件数据c11’。在接收到版本校对通知后,将版本号2.1、文件数据A对应的版本更新文件数据a11’发送至数据控制层。
306、数据控制层将所述版本更新文件数据生成新的序列数据写入目标位置,并覆盖版本更新前的序列数据,然后执行步骤307。
需要说明的是,数据控制层将接收到的版本更新文件数据a11’生成对应的序列数据a11,则将序列数据a11覆盖文件数据A对应的版本更新前的序列数据a10,则完成版本的更新。
307、数据控制层在检测到目标位置中的所述序列数据变化的情况下,将变化的所述序列数据进行处理生成对应的更新文件数据,并将所述更新文件数据存储于本地。
其中,目标位置中的每个序列数据具有对应的标记,例如序列数据a11的标记为a11,序列数据b11的标记为b11,序列数据b12的标记为b12,序列数据b13的标记为b13,序列数据c10的标记为c10。
具体地,在所述序列数据存储完毕的情况下,启动循环监控协程对所述目标位置进行监控;
步骤307具体包括:在循环监控协程监控到目标位置中的序列数据的标记发生变化的情况下,将变化的标记对应的序列数据进行处理生成对应的更新文件数据,将所述更新文件数据存储于本地。
需要解释的是,协程不是进程或线程,其执行过程更类似于子例程,或者说不带返回值的函数调用。
一个程序可以包含多个协程,可以对比于一个进程包含多个线程。对于多个线程相对独立,有自己的上下文,切换受系统控制;而协程也相对独立,有自己的上下文,但是其切换由自己控制,由当前协程切换到其他协程由当前协程来控制。
在循环监控协程监控到目标位置中的序列数据的标记是否发生变化,例如原来的序列数据的标记为{a10,b11,b12,b13,c10},循环监控协程监控到当前的序列数据的标记为{a11,b11,b12,b13,c10},则确定序列数据a10版本更新为序列数据a11,则将序列数据a11进行处理生成对应的更新文件数据A’,将所述更新文件数据A’存储于本地,以替代序列数据a10的原文件数据A。
在另一个具体的使用场景下,在循环监控协程监控到目标位置中的序列数据的标记是否发生变化,例如原来的序列数据的标记为{a10,b11,b12,b13,c10},循环监控协程监控到当前的序列数据的标记为{a100,b11,b12,b13,c10},则确定序列数据a10已更新,则将序列数据a100进行处理生成对应的更新文件数据A’,将所述更新文件数据A’存储于本地,以替代序列数据a10的原文件数据A。
具体地,将变化的所述序列数据进行处理生成对应的更新文件数据,包括:
将变化的所述序列数据进行解析,得到一维更新数组;
将所述一维更新数组进行序列化,生成对应的更新文件数据。
308、在接收到退出命令的情况下,清理所述目标位置中的序列数据,关闭循环监控协程。
本实施例中,可以通过数据控制层实现数据的读取、修改和保存,无需数据调用层直接与本地的文件进行交互,降低了数据管理的复杂度。
另外,本实施例中,在确定任一文件数据对应的序列数据的版本修改的情况下,发送版本校对通知至数据调用层;接收数据调用层发送的版本更新文件数据并生成新的序列数据写入目标位置,并覆盖版本更新列数据,从而可以实现版本升级,避免在文件数据发生大的变化的情况下,新的文件数据无法兼容旧的文件数据。
参见图4,图4示出了本实施例的文件数据的管理方法涉及的系统的交互示意图。该系统包括:数据调用层(UIPlayerPrefs)、数据控制层(UIStorage)以及本地存储空间,其中,数据调用层和数据控制层之间通过接口(LuaInterface)连接。
本实施例的文件数据的管理方法包括下述步骤401~420:
401、用户在数据控制层登入。
402、数据控制层向本地存储空间请求读取文件列表。
403、数据控制层获取文件列表。
404、数据控制层请求读取文件列表对应的文件数据。
405、数据控制层获取文件列表对应的文件数据。
406、数据控制层将文件数据将每个所述文件数据反序列化,生成对应的一维数组,并将一维数组进行解析,得到对应的序列数据存储于缓存中。
407、数据控制层启动循环监控协程,并执行步骤411。
408、数据控制层发送版本校对通知至数据调用层。
409、数据调用层发送版本校对通知对应的版本更新文件数据至数据控制层。
410、数据控制层将版本更新文件数据生成新的序列数据写入缓存,并覆盖版本更新前的序列数据。
411、数据控制层发送存储完毕通知至数据调用层。
412、数据控制层的循环监控协程对缓存进行实时监控。
413、数据控制层的循环监控协程监控到所述序列数据的标记发生变化的情况下,将所述变化的标记对应的序列数据进行处理生成对应的更新文件数据。
本实施例中,将变化的序列数据进行处理生成对应的更新文件数据,包括:
将变化的所述序列数据进行解析,得到一维更新数组;
将所述一维更新数组进行序列化,生成对应的更新文件数据。
414、数据控制层将所述更新文件数据存储于本地存储空间。
415、数据控制层接收数据调用层发送的读取数据的请求。
416、数据控制层将与所述请求对应的序列数据返回至数据调用层。
417、数据控制层接收数据调用层的写入数据。
418、数据控制层将写入数据写入对应的序列数据中,并将被修改的序列数据加入存储队列。
419、用户在数据控制层登出。
420、数据控制层清理缓存中的序列数据,关闭循环监控协程。
上述实施例为本申请的文件数据的管理方法的示意性说明,下述实施例对本申请的文件数据的管理装置进行示例性的说明。
本申请一实施例还提供一种文件数据的管理装置,参见图5,设置于数据控制层,所述装置包括:
读取模块501,被配置为读取本地的文件数据,将每个文件数据生成对应的序列数据,并将每个文件数据对应的序列数据存储于目标位置;
请求处理模块502,被配置为在接收到数据调用层发送的读取数据的请求的情况下,将与所述请求对应的序列数据返回至所述数据调用层;
写入数据处理模块503,被配置为在接收到数据调用层的写入数据的情况下,将所述写入数据写入对应的所述序列数据中;
存储模块504,被配置为在检测到目标位置中的所述序列数据变化的情况下,将变化的所述序列数据进行处理生成对应的更新文件数据,并将所述更新文件数据存储于本地。
可选地,所述装置还包括:
通知模块,被配置为在所述序列数据存储完毕的情况下,发送存储完毕通知至数据调用层;
请求接收模块,被配置为在接收到所述存储完毕通知的情况下,接收所述数据调用层发送的读取数据的请求。
可选地,所述装置还包括:
版本校对模块,被配置为在确定任一文件数据对应的序列数据的版本修改的情况下,发送版本校对通知至数据调用层;
版本数据接收模块,被配置为接收所述数据调用层发送的版本校对通知对应的版本更新文件数据;
版本更新模块,被配置为将所述版本更新文件数据生成新的序列数据写入目标位置,并覆盖版本更新前的序列数据。
可选地,所述装置还包括:
监控协程启动模块,被配置为在所述序列数据存储完毕的情况下,启动循环监控协程对所述目标位置进行监控;
所述存储模块504具体被配置为:在所述循环监控协程监控到所述目标位置中的所述序列数据的标记发生变化的情况下,将所述变化的标记对应的序列数据进行处理生成对应的更新文件数据,其中,每个序列数据具有对应的标记。
可选地,所述装置还包括:
退出模块,被配置为在接收到退出命令的情况下,清理所述目标位置中的序列数据,关闭循环监控协程。
可选地,读取模块501具体被配置为:将每个文件数据对应的序列数据存储于缓存。
可选地,读取模块501具体被配置为:将每个所述文件数据反序列化,生成对应的一维数组;将所述一维数组进行解析,得到序列数据;
存储模块504具体被配置为:将变化的所述序列数据进行解析,得到一维更新数组;将所述一维更新数组进行序列化,生成对应的更新文件数据。
本申请提供的文件数据的管理装置,通过在数据调用层和本地之间设置数据控制层,可以将每个文件数据对应的序列数据存储于目标位置,从而通过数据控制层实现对序列数据的读取、修改和保存,无需数据调用层直接与本地的文件进行交互,降低了数据管理的复杂度。
上述为本实施例的一种文件数据的管理装置的示意性方案。需要说明的是,该文件数据的管理装置的技术方案与上述的文件数据的管理方法的技术方案属于同一构思,文件数据的管理装置的技术方案未详细描述的细节内容,均可以参见上述文件数据的管理方法的技术方案的描述。
本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如前所述文件数据的管理方法的步骤。
图6是示出了根据本说明书一实施例的计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
计算设备100还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述文件数据的管理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的文件数据的管理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述文件数据的管理方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (9)
1.一种文件数据的管理方法,其特征在于,所述方法用于数据控制层,包括:
读取本地的文件数据,将每个文件数据生成对应的序列数据,并将每个文件数据对应的序列数据存储于目标位置;
在接收到数据调用层发送的读取数据的请求的情况下,将与所述请求对应的序列数据返回至所述数据调用层;
在接收到数据调用层的写入数据的情况下,将所述写入数据写入对应的所述序列数据中;
在确定任一文件数据对应的序列数据的版本修改的情况下,发送版本校对通知至数据调用层;接收所述数据调用层发送的版本校对通知对应的版本更新文件数据;将所述版本更新文件数据生成新的序列数据写入目标位置,并覆盖版本更新前的序列数据;
在检测到目标位置中的所述序列数据变化的情况下,将变化的所述序列数据进行处理生成对应的更新文件数据,并将所述更新文件数据存储于本地。
2.如权利要求1所述的方法,其特征在于,还包括:
在所述序列数据存储完毕的情况下,发送存储完毕通知至数据调用层;
在接收到所述存储完毕通知的情况下,所述数据调用层发送读取数据的请求。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述序列数据存储完毕的情况下,启动循环监控协程对所述目标位置进行监控;
在检测到目标位置中的所述序列数据变化的情况下,将所述变化的序列数据进行处理生成对应的更新文件数据,包括:
在所述循环监控协程监控到所述目标位置中的所述序列数据的标记发生变化的情况下,将所述变化的标记对应的序列数据进行处理生成对应的更新文件数据,其中,每个序列数据具有对应的标记。
4.如权利要求3所述的方法,其特征在于,还包括:
在接收到退出命令的情况下,清理所述目标位置中的序列数据,关闭循环监控协程。
5.如权利要求1所述的方法,其特征在于,将每个文件数据对应的序列数据存储于目标位置,包括:
将每个文件数据对应的序列数据存储于缓存。
6.如权利要求1所述的方法,其特征在于,将每个文件数据生成对应的序列数据,包括:
将每个所述文件数据反序列化,生成对应的一维数组;
将所述一维数组进行解析,得到序列数据;
将变化的所述序列数据进行处理生成对应的更新文件数据,包括:
将变化的所述序列数据进行解析,得到一维更新数组;
将所述一维更新数组进行序列化,生成对应的更新文件数据。
7.一种文件数据的管理装置,其特征在于,设置于数据控制层,所述装置包括:
读取模块,被配置为读取本地的文件数据,将每个文件数据生成对应的序列数据,并将每个文件数据对应的序列数据存储于目标位置;
请求处理模块,被配置为在接收到数据调用层发送的读取数据的请求的情况下,将与所述请求对应的序列数据返回至所述数据调用层;
写入数据处理模块,被配置为在接收到数据调用层的写入数据的情况下,将所述写入数据写入对应的所述序列数据中;
版本校对模块,被配置为在确定任一文件数据对应的序列数据的版本修改的情况下,发送版本校对通知至数据调用层;
版本数据接收模块,被配置为接收所述数据调用层发送的版本校对通知对应的版本更新文件数据;
版本更新模块,被配置为将所述版本更新文件数据生成新的序列数据写入目标位置,并覆盖版本更新前的序列数据;
存储模块,被配置为在检测到目标位置中的所述序列数据变化的情况下,将变化的所述序列数据进行处理生成对应的更新文件数据,并将所述更新文件数据存储于本地。
8.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-6任意一项所述方法的步骤。
9.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-6任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911376246.8A CN111078632B (zh) | 2019-12-27 | 2019-12-27 | 一种文件数据的管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911376246.8A CN111078632B (zh) | 2019-12-27 | 2019-12-27 | 一种文件数据的管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078632A CN111078632A (zh) | 2020-04-28 |
CN111078632B true CN111078632B (zh) | 2023-07-28 |
Family
ID=70318527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911376246.8A Active CN111078632B (zh) | 2019-12-27 | 2019-12-27 | 一种文件数据的管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078632B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112925632B (zh) * | 2021-05-08 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 处理方法及装置、处理器、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103596A (zh) * | 2009-12-18 | 2011-06-22 | 康佳集团股份有限公司 | 在嵌入式系统中实现文件系统的方法 |
CN103136234A (zh) * | 2011-11-25 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 处理数据的方法和装置 |
US9189211B1 (en) * | 2010-06-30 | 2015-11-17 | Sony Computer Entertainment America Llc | Method and system for transcoding data |
CN108090168A (zh) * | 2017-12-14 | 2018-05-29 | 厦门市美亚柏科信息股份有限公司 | 一种通用f2fs文件系统解析方法、终端设备及存储介质 |
CN109460219A (zh) * | 2018-09-28 | 2019-03-12 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 快速序列化接口控制文件的方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7073168B2 (en) * | 2001-12-06 | 2006-07-04 | Microsoft Corporation | Customizing binary content files |
CN101963944B (zh) * | 2010-09-30 | 2015-04-15 | 用友软件股份有限公司 | 对象存储方法和系统 |
US8977602B2 (en) * | 2012-06-05 | 2015-03-10 | Oracle International Corporation | Offline verification of replicated file system |
CN104616354B (zh) * | 2015-01-23 | 2018-08-03 | 克拉玛依红有软件有限责任公司 | 一种三维gis快速加载空间数据的方法 |
CN105138649B (zh) * | 2015-08-26 | 2018-11-30 | 小米科技有限责任公司 | 数据的搜索方法、装置及终端 |
US9870367B2 (en) * | 2016-01-04 | 2018-01-16 | Acronis International Gmbh | System and method of using data blocks to optimize file storage |
CN106874465A (zh) * | 2017-02-15 | 2017-06-20 | 浪潮软件集团有限公司 | 一种基于数据版本的高效管理缓存的方法 |
CN106919666A (zh) * | 2017-02-17 | 2017-07-04 | 武汉逸居思宏科技有限公司 | 一种面向对象的嵌入式内存数据库 |
CN109636884A (zh) * | 2018-10-25 | 2019-04-16 | 阿里巴巴集团控股有限公司 | 动画处理方法、装置及设备 |
CN109542851A (zh) * | 2018-11-30 | 2019-03-29 | 北京金山云网络技术有限公司 | 文件更新方法、装置及系统 |
CN110032368B (zh) * | 2019-04-22 | 2022-09-16 | 成都四方伟业软件股份有限公司 | 信息配置方法及装置 |
-
2019
- 2019-12-27 CN CN201911376246.8A patent/CN111078632B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103596A (zh) * | 2009-12-18 | 2011-06-22 | 康佳集团股份有限公司 | 在嵌入式系统中实现文件系统的方法 |
US9189211B1 (en) * | 2010-06-30 | 2015-11-17 | Sony Computer Entertainment America Llc | Method and system for transcoding data |
CN103136234A (zh) * | 2011-11-25 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 处理数据的方法和装置 |
CN108090168A (zh) * | 2017-12-14 | 2018-05-29 | 厦门市美亚柏科信息股份有限公司 | 一种通用f2fs文件系统解析方法、终端设备及存储介质 |
CN109460219A (zh) * | 2018-09-28 | 2019-03-12 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 快速序列化接口控制文件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111078632A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11521038B2 (en) | Electronic apparatus and control method thereof | |
US10911565B2 (en) | Method, device and system for associating a service account | |
CN111949324B (zh) | 一种分布式序列号生成方法和装置 | |
CN105631035B (zh) | 数据存储方法和装置 | |
CN111078632B (zh) | 一种文件数据的管理方法及装置 | |
CN111078900A (zh) | 一种数据的风险识别方法及系统 | |
US11755534B2 (en) | Data caching method and node based on hyper-converged infrastructure | |
CN112486672B (zh) | 一种服务内存缓存调用方法和装置 | |
CN113886323A (zh) | 网络共享方法、装置、电子设备及存储介质 | |
CN110442636B (zh) | 一种数据的读写方法、装置及数据读写设备 | |
US10972364B2 (en) | Using tiered storage and ISTIO to satisfy SLA in model serving and updates | |
CN117131540A (zh) | 基于大语言模型的任务处理方法、装置及电子设备 | |
US20230281187A1 (en) | Method for keeping data consistent across different storage systems, computing device, and storage medium | |
US20230068272A1 (en) | Information processing apparatus, information processing method, and storage medium for classifying object of interest | |
CN116340659A (zh) | 数据处理方法及装置 | |
US11676591B1 (en) | Smart computing device implementing artificial intelligence electronic assistant | |
CN115759121A (zh) | 一种对话领域意图解析方法、装置、设备及存储介质 | |
CN114090083B (zh) | 一种可视化组件配置方法、装置、设备及存储介质 | |
CN110471708B (zh) | 基于可重用组件的配置项获取的方法及装置 | |
CN114566173A (zh) | 一种音频混音方法、装置、设备及存储介质 | |
CN109840156B (zh) | 一种数据缓存方法及其设备、存储介质、终端 | |
CN115086283B (zh) | 语音流的处理方法和装置 | |
CN116048735B (zh) | 信息处理方法以及对象共享方法 | |
CN111367637B (zh) | 任务处理方法及装置 | |
CN115002229B (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 | ||
CB02 | Change of applicant information |
Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329 Applicant after: Zhuhai Jinshan Digital Network Technology Co.,Ltd. Address before: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329 Applicant before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |