一种存储数据接口模块的处理方法与流程

文档序号:36638729发布日期:2024-01-06 23:24阅读:23来源:国知局
一种存储数据接口模块的处理方法与流程

本发明涉及数据处理,特别涉及一种存储数据接口模块的处理方法。


背景技术:

1、操作系统以文件作为数据存储对象;在操作系统上运行的上层应用在运行过程中会产生许多应用数据,上层应用在对这些应用数据进行存储管理时需要调用操作系统的文件处理接口,这就意味着一款跨系统的上层应用需要在自身代码中集成各家操作系统的文件处理接口以及对应的接口调用逻辑。这种处理方式一方面提高了上层应用的开发难度,另一方面也使得上层应用的冗余代码体积偏大、浪费存储资源。


技术实现思路

1、本发明的目的,就是针对现有技术的缺陷,提供一种存储数据接口模块的处理方法、电子设备及计算机可读存储介质;本发明给出的存储数据接口模块是一种通用接口模块,该通用接口模块向下兼容各个操作系统的文件处理接口、向上提供统一的指令处理接口,并给出一套统一的数据管理指令集(创建、读取、修改、删除、恢复);在安装了该通用接口模块的操作系统上,上层应用只需使用统一的数据管理指令集就能实现对应用数据的管理、无需再为了兼容各家操作系统的文件处理接口进行冗余代码开发。通过本发明一方面可以达到降低上层应用开发难度、提高上层应用开发效率的目的,另一方也能达到减少应用冗余代码体积、提高系统存储资源利用率的目的。

2、为实现上述目的,本发明实施例第一方面提供了一种存储数据接口模块的处理方法,所述方法包括:

3、第一存储数据接口模块通过第一指令处理接口接收第一操作系统上的第一上层应用发送的第一操作指令;并从所述第一操作指令中提取出对应的第一指令头和第一指令体;所述第一存储数据接口模块为在所述第一操作系统上安装的一个软件或硬件接口模块;所述第一操作系统向所述第一存储数据接口模块提供可在当前操作系统上进行文件创建、删除和读写操作的第一文件处理接口进行接口调用;所述第一存储数据接口模块向所述第一操作系统上的任一所述第一上层应用提供所述第一指令处理接口进行接口调用;所述第一操作指令包括所述第一指令头和所述第一指令体,所述第一指令头包括接口初始化指令头、接口关闭指令头、数据创建指令头、数据读取指令头、数据修改指令头、数据删除指令头和数据恢复指令头;

4、当所述第一指令头为所述接口初始化指令头时,调用所述第一操作系统的所述第一文件处理接口在所述第一操作系统上创建两个初始文件大小为0的二进制文件作为对应的第一存储文件和第一索引表文件;并向所述第一索引表文件中增加两个数据项分别为第一计数器和第一索引表,并将所述第一计数器初始化为0、将所述第一索引表初始为一个空索引表;并在文件创建成功且索引表文件设置成功时,将具体设为成功状态的第一初始化状态通过所述第一指令处理接口向所述第一上层应用回发;

5、当所述第一指令头为所述数据创建指令头时,根据所述第一指令体、所述第一索引表文件和所述第一存储文件进行应用层数据创建处理生成对应的第一创建状态和第一创建数据句柄;并将所述第一创建状态和所述第一创建数据句柄通过所述第一指令处理接口向所述第一上层应用回发;所述第一创建状态包括失败状态和成功状态;所述第一创建状态为失败状态时,对应的所述第一创建数据句柄为空;

6、当所述第一指令头为所述数据读取指令头时,根据所述第一指令体、所述第一索引表文件和所述第一存储文件进行应用层数据读取处理生成对应的第一读取状态和第一读取数据;并将所述第一读取状态和所述第一读取数据通过所述第一指令处理接口向所述第一上层应用回发;所述第一读取状态包括失败状态和成功状态;所述第一读取状态为失败状态时,对应的所述第一读取数据为空;

7、当所述第一指令头为所述数据修改指令头时,根据所述第一指令体、所述第一索引表文件和所述第一存储文件进行应用层数据修改处理生成对应的第一修改状态;并将所述第一修改状态通过所述第一指令处理接口向所述第一上层应用回发;所述第一修改状态包括失败状态和成功状态;

8、当所述第一指令头为所述数据删除指令头时,根据所述第一指令体、所述第一索引表文件和所述第一存储文件进行应用层数据删除处理生成对应的第一删除状态;并将所述第一删除状态通过所述第一指令处理接口向所述第一上层应用回发;所述第一删除状态包括失败状态和成功状态;

9、当所述第一指令头为所述数据恢复指令头时,根据所述第一指令体、所述第一索引表文件和所述第一存储文件进行应用层数据恢复处理生成对应的第一恢复状态和第一恢复数据;并将所述第一恢复状态和所述第一恢复数据通过所述第一指令处理接口向所述第一上层应用回发;所述第一恢复状态包括失败状态和成功状态;所述第一恢复状态为失败状态时,对应的所述第一恢复数据为空;

10、当所述第一指令头为所述接口关闭指令头时,调用所述第一文件处理接口将所述第一存储文件和所述第一索引表文件删除;并在文件删除成功时,将具体设为成功状态的第一关闭状态通过所述第一指令处理接口向所述第一上层应用回发。

11、优选的,所述第一操作系统至少包括windows系列操作系统、windows phone系列操作系统、unix系列操作系统、linux系列操作系统、android系列操作系统、ios系列操作系统、mac系列操作系统;

12、所述第一存储文件包括多个第一存储数据块;所述第一存储数据块包括第一块长度数据、第一状态数据、第一权限数据和第一应用存储数据;所述第一块长度数据、所述第一状态数据和所述第一权限数据的数据长度都是固定长度分别为预设的第一、第二、第三数据长度;所述第一块长度数据为对应的所述第一存储数据块的数据长度;所述第一状态数据包括使用状态和空闲状态;所述第一权限数据包括四类权限标志分别为数据读取权限标志、数据修改权限标志、数据删除权限标志和数据恢复权限标志;所述四类权限标志的标志值都包括允许标志值和禁止标志值;

13、所述第一存储文件中所有所述第一存储数据块基于链状方式顺序存储;每个所述第一存储数据块对应一个第一数据块偏移量;第一个所述第一存储数据块对应的所述第一数据块偏移量为预设的起始偏移量,下一个所述第一存储数据块对应的所述第一数据块偏移量为前一个所述第一存储数据块对应的所述第一数据块偏移量与所述第一块长度数据相加的和;所述起始偏移量默认为所述第一存储文件中的第一个二进制数据位置;

14、所述第一索引表文件包括所述第一计数器和所述第一索引表;所述第一计数器为所述第一存储文件中所述第一状态数据为使用状态的所述第一存储数据块的总数;所述第一索引表包括多个第一索引记录;所述第一索引记录包括第一应用层数据句柄和第一应用数据块偏移量;所述第一索引记录的记录总数大于或等于所述第一计数器的计数值;

15、所述第一指令头为所述接口初始化指令头或所述接口关闭指令头时,对应的所述第一指令体为空;所述第一指令头为所述数据创建指令头时,对应的所述第一指令体包括第一应用数据和第一权限配置,所述第一权限配置包括四类权限标志分别为数据读取权限标志、数据修改权限标志、数据删除权限标志和数据恢复权限标志,所述四类权限标志的标志值都包括允许标志值和禁止标志值;所述第一指令头为所述数据读取指令头时,对应的所述第一指令体包括第一读取数据句柄;所述第一指令头为所述数据修改指令头时,对应的所述第一指令体包括第一修改数据句柄和第一应用修改数据;所述第一指令头为所述数据删除指令头时,对应的所述第一指令体包括第一删除数据句柄;所述第一指令头为所述数据恢复指令头时,对应的所述第一指令体包括第一恢复数据句柄。

16、优选的,所述根据所述第一指令体、所述第一索引表文件和所述第一存储文件进行应用层数据创建处理生成对应的第一创建状态和第一创建数据句柄,具体包括:

17、所述第一存储数据接口模块从所述第一指令体中提取出对应的所述第一应用数据和所述第一权限配置;并将对应的所述第一创建状态初始化为失败状态、将对应的所述第一创建数据句柄初始化为空;

18、对所述第一应用数据的数据长度进行统计生成对应的第一长度,并将所述第一长度与预设的所述第一、第二、第三数据长度的长度总和作为对应的第一总长度,并设置一个对应的所述第一块长度数据为所述第一总长度;并设置一个对应的所述第一状态数据为使用状态;并将所述第一权限配置作为一个对应的所述第一权限数据;并将所述第一应用数据作为一个对应的所述第一应用存储数据;并由得到的所述第一块长度数据、所述第一状态数据、所述第一权限数据和所述第一应用存储数据组成一个对应的所述第一存储数据块;并调用所述第一文件处理接口将当次得到的所述第一存储数据块添加到所述第一存储文件的尾部,并将当次添加的所述第一存储数据块的起始数据在所述第一存储文件中的存储位置作为对应的第一偏移量;

19、在成功获得所述第一偏移量之后,为当次添加的所述第一存储数据块分配一个唯一的数据标识作为对应的第一数据标识;并将所述第一数据标识作为一个对应的所述第一应用层数据句柄;并将所述第一偏移量作为一个对应的所述第一应用数据块偏移量;并由得到的所述第一应用层数据句柄和所述第一应用数据块偏移量组成一个对应的所述第一索引记录;并调用所述第一文件处理接口将所述第一索引记录添加到所述第一索引表文件的所述第一索引表的尾部,并对所述第一索引表文件的所述第一计数器的计数值加1;

20、在对所述第一索引表文件成功完成索引记录添加和计数器更新之后,将所述第一创建数据句柄更新为对应的所述第一数据标识,并将所述第一创建状态更新为成功状态;

21、由得到的所述第一创建状态和所述第一创建数据句柄作为本次的应用层数据创建处理结果输出。

22、优选的,所述根据所述第一指令体、所述第一索引表文件和所述第一存储文件进行应用层数据读取处理生成对应的第一读取状态和第一读取数据,具体包括:

23、所述第一存储数据接口模块从所述第一指令体中提取出对应的所述第一读取数据句柄;

24、调用所述第一文件处理接口对所述第一索引表文件的所述第一索引表进行查询,将所述第一索引表中所述第一应用层数据句柄与所述第一读取数据句柄匹配的所述第一索引记录提取出来作为对应的当前索引记录;

25、当所述当前索引记录为空时,设置对应的所述第一读取状态为失败状态,并设置对应的所述第一读取数据为空;

26、当所述当前索引记录不为空时,将所述当前索引记录的所述第一应用数据块偏移量提取出来作为对应的当前偏移量;并将所述第一存储文件中起始数据存储位置与所述当前偏移量匹配的所述第一存储数据块作为对应的当前存储数据块;并调用所述第一文件处理接口从所述当前存储数据块中读取出对应的所述第一状态数据和所述第一权限数据;并对所述第一状态数据和所述第一权限数据的数据读取权限标志进行识别;若所述第一状态数据为使用状态且所述数据读取权限标志的标志值为允许标志值,则调用所述第一文件处理接口将所述当前存储数据块的所述第一应用存储数据读取出来作为对应的所述第一读取数据,并在读取成功时设置对应的所述第一读取状态为成功状态;若所述第一状态数据为空闲状态或所述数据读取权限标志的标志值为禁止标志值,则设置对应的所述第一读取状态为失败状态,并设置对应的所述第一读取数据为空;

27、由得到的所述第一读取状态和所述第一读取数据作为本次的应用层数据读取处理结果输出。

28、优选的,所述根据所述第一指令体、所述第一索引表文件和所述第一存储文件进行应用层数据修改处理生成对应的第一修改状态,具体包括:

29、所述第一存储数据接口模块从所述第一指令体中提取出对应的所述第一修改数据句柄和所述第一应用修改数据;

30、调用所述第一文件处理接口对所述第一索引表文件的所述第一索引表进行查询,将所述第一索引表中所述第一应用层数据句柄与所述第一修改数据句柄匹配的所述第一索引记录提取出来作为对应的当前索引记录;

31、当所述当前索引记录为空时,设置对应的所述第一修改状态为失败状态;

32、当所述当前索引记录不为空时,将所述当前索引记录的所述第一应用数据块偏移量提取出来作为对应的当前偏移量;并将所述第一存储文件中起始数据存储位置与所述当前偏移量匹配的所述第一存储数据块作为对应的当前存储数据块;并调用所述第一文件处理接口从所述当前存储数据块中读取出对应的所述第一状态数据和所述第一权限数据;并对所述第一状态数据和所述第一权限数据的数据修改权限标志进行识别;若所述第一状态数据为使用状态且所述数据修改权限标志的标志值为允许标志值,则调用所述第一文件处理接口将所述当前存储数据块的所述第一应用存储数据更新为对应的所述第一应用修改数据,并在更新成功时设置对应的所述第一修改状态为成功状态;若所述第一状态数据为空闲状态或所述数据修改权限标志的标志值为禁止标志值,则设置对应的所述第一修改状态为失败状态;

33、由得到的所述第一修改状态作为本次的应用层数据修改处理结果输出。

34、优选的,所述根据所述第一指令体、所述第一索引表文件和所述第一存储文件进行应用层数据删除处理生成对应的第一删除状态,具体包括:

35、所述第一存储数据接口模块从所述第一指令体中提取出对应的所述第一删除数据句柄;

36、调用所述第一文件处理接口对所述第一索引表文件的所述第一索引表进行查询,将所述第一索引表中所述第一应用层数据句柄与所述第一删除数据句柄匹配的所述第一索引记录提取出来作为对应的当前索引记录;

37、当所述当前索引记录为空时,设置对应的所述第一删除状态为失败状态;

38、当所述当前索引记录不为空时,将所述当前索引记录的所述第一应用数据块偏移量提取出来作为对应的当前偏移量;并将所述第一存储文件中起始数据存储位置与所述当前偏移量匹配的所述第一存储数据块作为对应的当前存储数据块;并调用所述第一文件处理接口从所述当前存储数据块中读取出对应的所述第一状态数据和所述第一权限数据;并对所述第一状态数据和所述第一权限数据的数据删除权限标志进行识别;若所述第一状态数据为使用状态且所述数据删除权限标志的标志值为允许标志值,则调用所述第一文件处理接口将所述当前存储数据块的所述第一状态数据更新为空闲状态,并调用所述第一文件处理接口对所述第一索引表文件的所述第一计数器的计数值减1,并在所述第一状态数据和所述第一计数器都成功更新之后设置对应的所述第一删除状态为成功状态;若所述第一状态数据为空闲状态或所述数据删除权限标志的标志值为禁止标志值,则设置对应的所述第一删除状态为失败状态;

39、由得到的所述第一删除状态作为本次的应用层数据删除处理结果输出。

40、优选的,所述根据所述第一指令体、所述第一索引表文件和所述第一存储文件进行应用层数据恢复处理生成对应的第一恢复状态和第一恢复数据,具体包括:

41、所述第一存储数据接口模块从所述第一指令体中提取出对应的所述第一恢复数据句柄;

42、调用所述第一文件处理接口对所述第一索引表文件的所述第一索引表进行查询,将所述第一索引表中所述第一应用层数据句柄与所述第一恢复数据句柄匹配的所述第一索引记录提取出来作为对应的当前索引记录;

43、当所述当前索引记录为空时,设置对应的所述第一恢复状态为失败状态,并设置对应的所述第一恢复数据为空;

44、当所述当前索引记录不为空时,将所述当前索引记录的所述第一应用数据块偏移量提取出来作为对应的当前偏移量;并将所述第一存储文件中起始数据存储位置与所述当前偏移量匹配的所述第一存储数据块作为对应的当前存储数据块;并调用所述第一文件处理接口从所述当前存储数据块中读取出对应的所述第一状态数据和所述第一权限数据;并对所述第一状态数据和所述第一权限数据的数据恢复权限标志进行识别;若所述第一状态数据为空闲状态且所述数据恢复权限标志的标志值为允许标志值,则调用所述第一文件处理接口将所述当前存储数据块的所述第一状态数据更新为使用状态、并将所述当前存储数据块的所述第一应用存储数据读取出来作为对应的所述第一恢复数据,并调用所述第一文件处理接口对所述第一索引表文件的所述第一计数器的计数值加1,并在所述第一状态数据和所述第一计数器都成功更新之后设置对应的所述第一恢复状态为成功状态;若所述第一状态数据为空闲状态或所述数据恢复权限标志的标志值为禁止标志值,则设置对应的所述第一恢复状态为失败状态,并设置对应的所述第一恢复数据为空;

45、由得到的所述第一恢复状态和所述第一恢复数据作为本次的应用层数据恢复处理结果输出。

46、本发明实施例第二方面提供了一种电子设备,包括:存储器、处理器和收发器;

47、所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以实现上述第一方面所述的方法;

48、所述收发器与所述处理器耦合,由所述处理器控制所述收发器进行消息收发。

49、本发明实施例第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行上述第一方面所述的方法。

50、本发明实施例提供了一种存储数据接口模块的处理方法、电子设备及计算机可读存储介质;本发明给出的存储数据接口模块是一种通用接口模块,该通用接口模块向下兼容各个操作系统的文件处理接口、向上提供统一的指令处理接口,并给出一套统一的数据管理指令集(创建、读取、修改、删除、恢复);在安装了该通用接口模块的操作系统上,上层应用只需使用统一的数据管理指令集就能实现对应用数据的管理、无需再为了兼容各家操作系统的文件处理接口进行冗余代码开发。通过本发明一方面降低了上层应用开发难度、提高了上层应用的开发效率,另一方也减少了应用冗余代码体积、提高了系统存储资源的利用率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1