首页 / 专利库 / 电脑图像 / 缩略图 / 一种基于分页文件的缓存保存方法和装置

一种基于分页文件的缓存保存方法和装置

阅读:350发布:2020-05-08

专利汇可以提供一种基于分页文件的缓存保存方法和装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于分页文件的缓存保存方法和装置,包括开始对分页文件进行操作时,首先在缓存区中构造一个临时文件包;对分页文件进行处理,触发事件;对进行完事件的临时文件包保存;退出对分页文件的操作,并将缓存区的临时文件包一并删除。因此,本发明所述的基于分页文件的缓存保存方法和装置能够对XML数据进行高效的存储。,下面是一种基于分页文件的缓存保存方法和装置专利的具体信息内容。

1.一种基于分页文件的缓存保存方法,其特征在于,包括步骤:
开始对分页文件进行操作时,首先在缓存区中构造一个临时文件包;
对分页文件进行处理,触发事件;
对进行完事件的临时文件包保存;
退出对分页文件的操作,并将缓存区的临时文件包一并删除;
所述的临时文件包包括XML描述文件和关联的二进制文件;
所述XML描述文件名称设置为main.xml,其内容就是该临时文件包描述的文件数据的一个管理信息,所述管理信息包括所述临时文件包内包括的所述描述的页面数量,每个页面对应的XML文件名,每个页面包括的外部文件的数量,所述外部文件是指所述页面中涉及到的外部数据;
所述关联的二进制文件包括保存文件缩略图的文件preview.png、保存所有页面文件的文件夹slides、保存外部数据的文件夹filelibrary;
其中,所述保存文件缩略图的文件preview.png是对该分页文件中第一页进行的缩略图;所述保存所有页面文件的文件夹slides是指每个页面相应的XML文件保存在slides文件夹中;所述保存外部数据的文件夹filelibrary将每个页面对应的外部数据进行保存。
2.根据权利要求1所述的方法,其特征在于,所述关联的二进制文件还包括保存其他类型附属文件的文件夹attachments。
3.根据权利要求1所述的方法,其特征在于,所述对分页文件进行处理触发事件,需要判断该事件是页面事件还是对象事件。
4.根据权利要求1所述的方法,其特征在于,所述对进行完事件的临时文件包保存,即对进行完事件的临时文件包按照main.xml文件中记录的内容存储相关文件及文件夹到指定的目录下。
5.根据权利要求4所述的方法,其特征在于,所述对进行完事件的临时文件包保存时,按照main.xml文件中的内容将临时包文件中的内容进行过滤,只将main.xml文件中记录的相关内容按照文件的组织结构压缩并保存下来。
6.一种基于分页文件的缓存保存装置,其特征在于,包括:
创建临时文件包单元,用于开始对分页文件进行操作时,首先在缓存区中构造一个临时文件包;
触发单元,与所述创建临时文件包单元相连,用于对分页文件进行处理,触发事件;
保存单元,与所述触发单元相连,用于对进行完页面事件的临时文件包保存;
删除单元,与所述保存单元相连,用于退出对分页文件的操作,并将缓存区的临时文件包一并删除;
所述临时文件包包括XML描述文件和关联的二进制文件;
所述XML描述文件名称设置为main.xml,其内容就是该临时文件包描述的文件数据的一个管理信息,所述管理信息包括所述临时文件包内包括的所述描述的页面数量,每个页面对应的XML文件名,每个页面包括的外部文件的数量,所述外部文件是指所述页面中涉及到的外部数据;
所述关联的二进制文件包括保存文件缩略图的文件preview.png、保存所有页面文件的文件夹slides、保存外部数据的文件夹filelibrary;
其中,所述保存文件缩略图的文件preview.png是对该分页文件中第一页进行的缩略图;所述保存所有页面文件的文件夹slides是指每个页面相应的XML文件保存在slides文件夹中;所述保存外部数据的文件夹filelibrary将每个页面对应的外部数据进行保存。
7.根据权利要求6所述的装置,其特征在于,所述关联的二进制文件还包括保存其他类型附属文件的文件夹attachments。
8.根据权利要求6所述的装置,其特征在于,所述触发单元包括判断模、页面事件触发模块和对象事件触发模块,所述判断模块一端与所述创建临时文件包单元相连,另一端分别与所述对象事件触发模块、所述页面事件触发模块相连;并且,所述对象事件触发模块的另一端与所述保存单元相连,所述页面事件触发模块的另一端与所述保存单元相连;
其中,所述判断模块对分页文件进行处理,触发事件并判断该事件是页面事件还是对象事件;若是对象事件则所述对象事件触发模块将所述对象事件中的对象所在页面进行修改并保存,若不是对象事件则所述页面事件触发模块修改main.xml及slides文件夹中的文件并保存。
9.根据权利要求6所述的装置,其特征在于,所述保存单元对进行完事件的临时文件包保存时,按照main.xml文件中的内容将临时包文件中的内容进行过滤,只将main.xml文件中记录的相关内容按照文件的组织结构压缩并保存下来。

说明书全文

一种基于分页文件的缓存保存方法和装置

技术领域

[0001] 本发明涉及计算机领域,特别是指一种基于分页文件的缓存保存方法和装置。

背景技术

[0002] 随着信息技术的飞速发展,XML由于其特有的优势逐渐成为数据表示和数据交换的一个标准。XML具有强大的数据描述能、灵高度活性、易读性和平台无关性等特点,被越来越广泛地应用于教育应用系统中。XML描述的教学资源含有大量的动画、图片、视频、声音等信息,因而如何有效存储XML数据是数据管理的一个重要问题。在目前的现有技术中,还没有针对XML数据一个高效的存储方法或者装置。

发明内容

[0003] 有鉴于此,本发明的目的在于提出一种基于分页文件的缓存保存方法和装置,能够对XML数据进行高效的存储。
[0004] 基于上述目的本发明提供的一种基于分页文件的缓存保存方法,包括步骤:
[0005] 开始对分页文件进行操作时,首先在缓存区中构造一个临时文件包;
[0006] 对分页文件进行处理,触发事件;
[0007] 对进行完事件的临时文件包保存;
[0008] 退出对分页文件的操作,并将缓存区的临时文件包一并删除。
[0009] 可 选 地 ,所 述 在 缓 存 区 中 构 造 一 个 临 时 文 件 包 ,通 过 调 用TemporaryDocumentCreator类在指定缓存区创建一个临时文件包。
[0010] 可选地,所述的临时文件包包括XML描述文件和关联的二进制文件。
[0011] 进一步地,所述XML描述文件名称设置为main.xml,其内容就是该临时文件包描述的文件数据一个管理信息。
[0012] 进一步地,所述关联的二进制文件包括保存文件缩略图的文件preview.png、保存所有页面文件的文件夹slides、保存外部数据的文件夹filelibrary;
[0013] 其中,所述保存文件缩略图的文件preview.png是对该分页文件中第一页进行的缩略图;所述保存所有页面文件的文件夹slides是指每个页面相应的XML文件保存在slides文件夹中;所述保存外部数据的文件夹filelibrary将每个页面对应的外部数据进行保存。
[0014] 进一步地,所述关联的二进制文件还包括保存其他类型附属文件的文件夹attachments。
[0015] 进一步地,所述对分页文件进行处理触发事件,需要判断该事件是页面事件还是对象事件。
[0016] 进一步地,所述判断该事件是对象事件则将所述对象事件中的对象所在页面进行修改并保存,调用updateObjectEvent将对象所在页面修改并保存。
[0017] 进一步地,所述判断该事件是若不是对象事件,即是页面事件则修改main.xml及slides文件夹中的文件并保存,调用updateslideEvent修改main.xml及slides文件夹中的文件并保存。
[0018] 进一步地,所述触发页面事件或者对象事件时,调用TemporaryDocumentUpdater类的及时更新缓存中临时文件包的内容。
[0019] 进一步地,所述对进行完事件的临时文件包保存,即对进行完事件的临时文件包按照main.xml文件中记录的内容存储相关文件及文件夹到指定的目录下。
[0020] 进一步地,所述对进行完事件的临时文件包保存时,按照main.xml文件中的内容将临时包文件中的内容进行过滤,只将mian.xml文件中记录的相关内容按照文件的组织结构压缩并保存下来。
[0021] 另外,本发明还提供了一种基于分页文件的缓存保存装置,包括:
[0022] 创建临时文件包单元,用于开始对分页文件进行操作时,首先在缓存区中构造一个临时文件包;
[0023] 触发单元,与所述创建临时文件包单元相连,用于对分页文件进行处理,触发事件;
[0024] 保存单元,与所述触发单元相连,用于对进行完页面事件的临时文件包保存;
[0025] 删除单元,与所述保存单元相连,用于退出对分页文件的操作,并将缓存区的临时文件包一并删除。
[0026] 可选地,所述创建临时文件包单元调用TemporaryDocumentCreator类在指定缓存区创建一个临时文件包。
[0027] 可选地,所述创建临时文件包单元所述的临时文件包包括XML描述文件和关联的二进制文件。
[0028] 进一步地,所述XML描述文件名称设置为main.xml,其内容就是该临时文件包描述的文件数据一个管理信息。
[0029] 进一步地,所述关联的二进制文件包括保存文件缩略图的文件preview.png、保存所有页面文件的文件夹slides、保存外部数据的文件夹filelibrary;
[0030] 其中,所述保存文件缩略图的文件preview.png是对该分页文件中第一页进行的缩略图;所述保存所有页面文件的文件夹slides是指每个页面相应的XML文件保存在slides文件夹中;所述保存外部数据的文件夹filelibrary将每个页面对应的外部数据进行保存。
[0031] 进一步地,所述关联的二进制文件还包括保存其他类型附属文件的文件夹attachments。
[0032] 进一步地,所述触发单元包括判断模、页面事件触发模块和对象事件触发模块,所述判断模块一端与所述创建临时文件包单元相连,另一端分别与所述对象事件触发模块、所述页面事件触发模块相连;并且,所述对象事件触发模块的另一端与所述保存单元相连,所述页面事件触发模块的另一端与所述保存单元相连;
[0033] 其中,所述判断模块对分页文件进行处理,触发事件并判断该事件是页面事件还是对象事件;若是对象事件则所述对象事件触发模块将所述对象事件中的对象所在页面进行修改并保存,若不是对象事件则所述页面事件触发模块修改main.xml及slides文件夹中的文件并保存。
[0034] 进一步地,所述对象事件触发模块调用updateObjectEvent将对象所在页面修改并保存。
[0035] 进一步地,所述页面事件触发模块调用updateslideEvent修改main.xml及slides文件夹中的文件并保存。
[0036] 进一步地,所述保存单元对进行完事件的临时文件包保存时,按照main.xml文件中的内容将临时包文件中的内容进行过滤,只将mian.xml文件中记录的相关内容按照文件的组织结构压缩并保存下来。
[0037] 从上面所述可以看出,本发明提供的基于分页文件的缓存保存方法和装置,通过开始对分页文件进行操作时,首先在缓存区中构造一个临时文件包;对分页文件进行处理,触发事件;对进行完事件的临时文件包保存;退出对分页文件的操作,并将缓存区的临时文件包一并删除。从而,本发明所述的基于分页文件的缓存保存方法和装置能够实现减少磁盘空间开销,达到高效存储的目的。附图说明
[0038] 图1为本发明实施例基于分页文件的缓存保存方法的流程示意图;
[0039] 图2为本发明实施例基于分页文件的缓存保存装置的结构示意图;
[0040] 图3为本发明实施例触发单元的结构示意图。

具体实施方式

[0041] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0042] 参阅图1所示,为本发明实施例基于分页文件的缓存保存方法的流程示意图,所述的基于分页文件的缓存保存方法包括:
[0043] 步骤101,开始对分页文件进行操作时,首先在缓存区中构造一个临时文件包。
[0044] 在本发明的一个实施例中,所述的临时文件包包括XML描述文件和关联的二进制文件。优选的,调用TemporaryDocumentCreator类在指定缓存区创建一个临时文件包。
[0045] 其中,XML描述文件名称设置为main.xml,其内容就是该临时文件包描述的文件数据一个管理信息,例如该临时文件包内包括了对几个页面的描述、每个页面对应的XML文件名是什么、每个页面包括有多少外部文件等等的管理信息。需要说明的是,所述外部文件指的是页面中涉及到的一些外部数据,例如音频、flash、图像、3D模型文件和视频等等的外部数据。
[0046] 较佳地,所述关联的二进制文件可以包括保存文件缩略图的文件preview.png、保存所有页面文件的文件夹slides、保存外部数据的文件夹filelibrary。其中,所述保存文件缩略图的文件preview.png可以只是对该分页文件中第一页进行的缩略图。
[0047] 所述保存所有页面文件的文件夹slides是指每个页面相应的XML文件保存在slides文件夹中。每当用户新建一个页面时,就在main.xml中增加相应的页面记录,并将相应页面的XML文件保存在slides文件夹中。main.xml文件中记录的页面顺序就是页面索引顺序。用户切换页面时,如果对被切换页面做了修改就替换保存在slides文件夹中相应的XML文件,否则不进行替换。
[0048] 所述保存外部数据的文件夹filelibrary可以将每个页面对应的外部数据进行保存,该外部数据包括音频、flash、图像、3D模型文件和视频等等。用户创建包含外部文件的对象时,将对应的外部文件存入filelibrary文件夹中。若在当前页面中插入了多个相同的外部文件,则只需存储一份该外部文件并记录相同的外部文件每个插入的位置
[0049] 优选地,所述关联的二进制文件还可以包括保存其他类型附属文件的文件夹attachments。
[0050] 需要说明的是,只有正在处理的每一页是在内存中的,其他页面都是在磁盘上的。另外,当我们需要处理、操作某一页面时,就会将该页面从磁盘上加载到内存中。因此,可以看出本发明将一个大的文件分割成了分页文件进行处理,不仅操作的效果得到了提高,同时内存占用量大幅度地降低。
[0051] 步骤102,对分页文件进行处理,触发事件。
[0052] 作为本发明的另一个实施例,使用者可以对该分页文件进行各种数据操作、处理来触发事件。
[0053] 在另一个实施例中,需要判断该事件是页面事件还是对象事件。需要说明的是,如果这个操作引起当前页面内容发生改变就是对象事件,如果这个操作涉及到其它页面就是页面事件。页面事件可以说是针对页面层次的一些操作,比如上面所写的,新建页面,删除页面,copy页面,翻页,主要是指页面数量发生变化。对象事件主要是指能够使页面内容发生改变的一些操作,增加对象,以及对对象的一些操作,都会引起页面的变化,这些都可以是对象事件。其中,该对象事件包括:创建新对象、改变对象属性,旋转、缩放、移动,撤销、恢复,填充等等。所述的页面事件可以包括新建页面、删除页面、粘贴页面、克隆页面、清页、翻页、页面的撤销、恢复,页面上移、下移等,背景色等页面属性、页面特效等等事件。
[0054] 较佳地,若是对象事件则将所述对象事件中的对象所在页面进行修改并保存,可以调用updateObjectEvent将对象所在页面修改并保存。若不是对象事件,即是页面事件则修改main.xml及slides文件夹中的文件并保存,可以调用updateslideEvent修改main.xml及slides文件夹中的文件并保存。
[0055] 优选地,用户触发页面事件或者对象事件时,调用TemporaryDocumentUpdater类的及时更新缓存中临时文件包的内容。
[0056] 步骤103,对进行完事件的临时文件包保存。
[0057] 在本发明的一个实施例中,对进行完事件的临时文件包按照main.xml文件中记录的内容存储相关文件及文件夹到指定的目录下。较佳地,按照main.xml文件中的内容将临时包文件中的内容进行过滤,只将mian.xml文件中记录的相关内容按照文件的组织结构压缩并保存下来。已经被删除的页面、对象及相应的外部文件不进行存储。
[0058] 其中,所述按照main.xml文件中的内容将临时包文件中的内容进行过滤是指:这个main.xml是管理所有页面的,当有的页面被删除时,这个文件就会更新,把对应的文件索引给删除,当压缩文件时,那个被删除的页面对应的XML文件就不会被压缩到最终的文件中。所述的只将mian.xml文件中记录的相关内容按照文件的组织结构压缩并保存下来是指:就是按照本发明实施中定义的所述临时文件包的结构进行压缩,把这些散包文件压缩成一个指定后缀名的文件,比如test.hht。优选地,当用户触发保存或者自动保存被触发时,DocumentWrite类将散包中的内容按照main.xml中记录的内容进行过滤压缩并保存到用户指定的位置。
[0059] 优选地,可以通过用户点击保存按钮或者定时器触发保存。
[0060] 步骤104,退出对分页文件的操作,并将缓存区的临时文件包一并删除。
[0061] 参阅图2所示,为本发明实施例基于分页文件的缓存保存装置的结构示意图,所述基于分页文件的缓存保存装置包括:
[0062] 创建临时文件包单元201,用于开始对分页文件进行操作时,首先在缓存区中构造一个临时文件包。
[0063] 触发单元202,与创建临时文件包单元201相连,用于对分页文件进行处理,触发事件。
[0064] 保存单元203,与触发单元202相连,用于对进行完页面事件的临时文件包保存。
[0065] 删除单元204,与保存单元203相连,用于退出对分页文件的操作,并将缓存区的临时文件包一并删除。
[0066] 作为本发明的另一个实施例,所述的临时文件包包括XML描述文件和关联的二进制文件。优选的,调用TemporaryDocumentCreator类在指定缓存区创建一个临时文件包。
[0067] 其中,XML描述文件名称设置为main.xml,其内容就是该临时文件包描述的文件数据一个管理信息,例如该临时文件包内包括了对几个页面的描述、每个页面对应的XML文件名是什么、每个页面包括有多少外部文件等等的管理信息。需要说明的是,所述外部文件指的是页面中涉及到的一些外部数据,例如音频、flash、图像、3D模型文件和视频等等的外部数据。
[0068] 较佳地,所述关联的二进制文件可以包括保存文件缩略图的文件preview.png、保存所有页面文件的文件夹slides、保存外部数据的文件夹filelibrary。其中,所述保存文件缩略图的文件preview.png可以只是对该分页文件中第一页进行的缩略图。
[0069] 所述保存所有页面文件的文件夹slides是指每个页面相应的XML文件保存在slides文件夹中。每当用户新建一个页面时,就在main.xml中增加相应的页面记录,并将相应页面的XML文件保存在slides文件夹中。main.xml文件中记录的页面顺序就是页面索引顺序。用户切换页面时,如果对被切换页面做了修改就替换保存在slides文件夹中相应的XML文件,否则不进行替换。
[0070] 所述保存外部数据的文件夹filelibrary可以将每个页面对应的外部数据进行保存,该外部数据包括音频、flash、图像、3D模型文件和视频等等。用户创建包含外部文件的对象时,将对应的外部文件存入filelibrary文件夹中。若在当前页面中插入了多个相同的外部文件,则只需存储一份该外部文件并记录相同的外部文件每个插入的位置。
[0071] 优选地,所述关联的二进制文件还可以包括保存其他类型附属文件的文件夹attachments。
[0072] 需要说明的是,只有正在处理的每一页是在内存中的,其他页面都是在磁盘上的。另外,当我们需要处理、操作某一页面时,就会将该页面从磁盘上加载到内存中。因此,可以看出本发明将一个大的文件分割成了分页文件进行处理,不仅操作的效果得到了提高,同时内存占用量大幅度地降低。
[0073] 在本发明的另一个实施例中,触发单元202可以对该分页文件进行各种数据操作、处理来触发页面事件。
[0074] 在另一个实施例中,保存单元203对进行完页面事件的临时文件包按照main.xml文件中记录的内容存储相关文件及文件夹到指定的目录下。较佳地,按照main.xml文件中的内容将临时包文件中的内容进行过滤,只将mian.xml文件中记录的相关内容按照文件的组织结构压缩并保存下来。已经被删除的页面、对象及相应的外部文件不进行存储。
[0075] 其中,所述按照main.xml文件中的内容将临时包文件中的内容进行过滤是指:这个main.xml是管理所有页面的,当有的页面被删除时,这个文件就会更新,把对应的文件索引给删除,当压缩文件时,那个被删除的页面对应的XML文件就不会被压缩到最终的文件中。所述的只将mian.xml文件中记录的相关内容按照文件的组织结构压缩并保存下来是指:就是按照本发明实施中定义的所述临时文件包的结构进行压缩,把这些散包文件压缩成一个指定后缀名的文件,比如test.hht。优选地,当用户触发保存或者自动保存被触发时,DocumentWrite类将散包中的内容按照main.xml中记录的内容进行过滤压缩并保存到用户指定的位置。
[0076] 优选地,可以通过用户点击保存按钮或者定时器触发保存。
[0077] 作为本发明的另一个实施例,如图3所示,所述触发单元202包括判断模块301、页面事件触发模块302和对象事件触发模块303。其中,判断模块301一端与创建临时文件包单元201相连,另一端分别与对象事件触发模块303、页面事件触发模块302相连;并且,对象事件触发模块303的另一端与保存单元203相连,页面事件触发模块302的另一端与保存单元203相连。
[0078] 较佳地,判断模块301对分页文件进行处理,触发事件并判断该事件是页面事件还是对象事件。需要说明的是,如果这个操作引起当前页面内容发生改变就是对象事件,如果这个操作涉及到其它页面就是页面事件。页面事件可以说是针对页面层次的一些操作,比如上面所写的,新建页面,删除页面,copy页面,翻页,主要是指页面数量发生变化。对象事件主要是指能够使页面内容发生改变的一些操作,增加对象,以及对对象的一些操作,都会引起页面的变化,这些都可以是对象事件。其中,该对象事件包括:创建新对象、改变对象属性,旋转、缩放、移动,撤销、恢复,填充等等。所述的页面事件可以包括新建页面、删除页面、粘贴页面、克隆页面、清页、翻页、页面的撤销、恢复,页面上移、下移等,背景色等页面属性、页面特效等等事件。
[0079] 若是对象事件则对象事件触发模块303将所述对象事件中的对象所在页面进行修改并保存,可以调用updateObjectEvent将对象所在页面修改并保存。若不是对象事件则页面事件触发模块302修改main.xml及slides文件夹中的文件并保存,可以调用updateslideEvent修改main.xml及slides文件夹中的文件并保存。
[0080] 优选地,用户触发页面事件或者对象事件时,调用TemporaryDocumentUpdater类的及时更新缓存中临时文件包的内容。
[0081] 综上所述,本发明提供的基于分页文件的缓存保存方法和装置,创造性地提出了在缓存区中构建临时文件包,若文件被修改后,更新缓存区域中的文件,当满足存储条件时将缓存中的临时文件按照文件的组织结构压缩并保存到用户指定的路径下;从而达到减少磁盘空间开销以及高效存储的目的;与此同时,本发明因为是采用分页存储的,当我们编辑完成之后基本上所有的页面内容已经保存到本地磁盘了,当用户点击保存时只需要将这些文件进行压缩就可以了,即使有很多页(比如100页),保存操作也可以很快完成;另外,本发明只有一个页面的内存数据,会大量减少内存占用量,从而使操作速度更快;并且,异常退出时,为文件的恢复提供了数据;最后,整个所述的基于分页文件的缓存保存方法和装置简便、紧凑,易于实现。
[0082] 所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈