一种数据框架系统转让专利

申请号 : CN201511024468.5

文献号 : CN106933555B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王枫戴希铨王瑜张志亮徐威鸿

申请人 : 中国科学院上海高等研究院

摘要 :

本发明提供一种数据框架系统,包括:数据存储层,用于提供数据基本访问接口、数据的存储和设定数据在磁盘上的组织方式;数据访问层,松耦合于所述数据存储层,用于结合所述数据存储层的接口实现数据访问、设定数据在内存中的组织方式。实现了用于支撑数据检索、数据访问、数据存储、数据同步/共享以及数据恢复等功能的Javascript API共54个,同时数据框架的运行时环境由Node‑Webkit实现,支持基于Web技术的混合应用开发,由此带来了应用开发难度和工作量的明显降低。只需要使用HTML、CSS等前端技术做数据处理即可提供多设备下的用户数据管理功能,与传统文件管理器应用程序相比开发难度小,并且能够同时运行在Linux、Android等平台上,节省了50%以上的代码开发工作量。

权利要求 :

1.一种数据框架系统,其特征在于,包括:数据存储层,用于提供数据基本访问接口、数据的存储和设定数据在磁盘上的组织方式;

其中,所述数据存储层包括用户空间文件系统,用于控制最小化数据操作中版本控制的时间,并保证系统各部分中数据的一致性;

数据访问层,松耦合于所述数据存储层,用于结合所述数据存储层的接口实现数据访问、设定数据在内存中的组织方式;

其中,所述数据访问层包括系统服务模块,用于以系统服务的形式提供数据访问服务;

其中,所述系统服务模块包括:

服务获取模块,用于向上级设备提供或获取服务;

API读写模块,用于所述数据框架系统直接访问数据。

2.根据权利要求1所述的数据框架系统,其特征在于,所述用户空间文件系统包括:版本控制模块,用于实现所述数据框架系统的版本控制功能;

文件属性扩展模块,用于将基础文件属性扩展形成扩展后的文件属性。

3.根据权利要求2所述的数据框架系统,其特征在于,所述扩展后的文件属性包括音乐、文档、联系人,视频和图片。

4.根据权利要求2所述的数据框架系统,其特征在于,所述用户空间文件系统还包括:索引模块,用于根据类型和版本对文件进行索引后发送至所述文件属性扩展模块。

5.根据权利要求1所述的数据框架系统,其特征在于,所述服务获取模块包括数据共享单元、数据恢复单元、数据检索单元和数据同步单元。

6.根据权利要求1所述的数据框架系统,其特征在于,所述API读写模块包括:JavaScriptAPI,用于支持基于JavaScript、HTML、CSS的Web前端技术开发应用程序,并调用数据框架系统提供的数据访问API;

文件系统API,用于直接通过所述数据存储层读写数据。

7.根据权利要求1所述的数据框架系统,其特征在于,所述数据访问层还包括RDF数据库,用于存储数据富信息。

说明书 :

一种数据框架系统

技术领域

[0001] 本发明涉及数据存储领域,特别是涉及一种数据框架系统。

背景技术

[0002] 1.Git
[0003] Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,能够有效、高速的处理从很小到非常大的项目版本管理。Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Torvalds开始着手开发Git是为了作为一种过渡方案来替代BitKeeper,后者之前一直是Linux内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得BitKeeper的许可证并不适合开放源码社区的工作,因此Torvalds决定着手研究许可证更为灵活的版本控制系统。尽管最初Git的开发是为了辅助Linux内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了Git。
[0004] Git是分布式的版本控制系统,它没有中心服务器的概念(虽然实际开发中可以建一个中心服务器),每一台开发机器上都保存完整的历史记录,但是它有本地代码仓库和远程代码仓库的概念,而且可以追踪多个远程仓库。
[0005] Git能够非常快地建立分支和合并分支,并具有强大的跟踪分支和切换分支的能力。每一个项目都应该有一个工作目录(Working directory),可以自己建一个目录,然后把这个目录里面的代码用Git管理起来(使用git init命令和git add命令),也可以通过git clone命令从别的地方克隆一个项目过来自动生成一个工作目录。在工作目录中的文件就是当前编辑和修改的文件,如果是新建立的目录或新clone来的目录,工作目录中的文件就是该项目最新的状态。Git是在本地保存有所有的历史记录和分支记录的,这些内容都在工作目录的.git目录中,称之为本地仓库(local repository)。当切换分支或查看以前的历史版本时,工作目录中的文件自动改变(这才是重点,工作无需切换目录,目录中的文件会自动切换)。工作目录中的文件有三种状态:已修改、已暂存(stage)、已提交。修改后的文件可以先加入暂存区域,一次工作结束后一起提交。
[0006] 实际工作中仍然可以把代码仓库放到一台大家都可以访问的服务器上,做实际的中心服务器使用。在本地机器上工作完后,使用git push命令把仓库推送到服务器上,换一个地方换一台机器后,只需要git clone一下,又可以获得所有的代码(包含所有的历史记录及分支)继续工作。服务器故障也没问题,因为每一个工作的机器上都保存有完整的代码仓库,所以从不用担心代码丢失。没有网络也没有关系,在本地机器上照样可以提交(git commit),因为整个仓库就在自己的机器上,当有网络时,push一下就可以了。
[0007] Git有远程仓库(remote repository)的概念,而且可以管理很多个远程仓库,远程仓库可以是服务器,也可以是别人的个人计算机(但一般没有人这么用),每一个远程仓库都有一个简短的名字和一个地址,最开始clone代码的那个远程仓库别名往往默认为origin,自己添加的远程仓库可以随意指定别名,当然所有的远程仓库都可以随意修改别名。可以从远程仓库获取代码(git fetch命令或git pull命令),也可以把自己的代码推送到远程仓库(git push命令,需要写权限)。
[0008] Git除了用于代码开发的版本控制管理外,本身也是一个基于内容寻址的分布式文件系统,但是Git本身作为文件系统存在大量额外的存储开销。
[0009] 2.FUSE(Filesystem in Userspace)
[0010] 用户空间文件系统(Filesystem in Userspace,简称FUSE)是指完全在用户态实现的文件系统,目前Linux通过内核模块对此进行支持,一些文件系统如ZFS,glusterfs和luster使用FUSE实现。
[0011] FUSE是一个用户空间的文件系统框架,通过FUSE,程序员可以在用户态实现文件系统,并且不需要特权用户的支持。包括三个模块:内核模块,用户空间库以及mount工具。
[0012] 如图1所示,图1显示为现有技术中FUSE的系统框架示意图。内核模块实现了一个完整文件系统的框架,但具体操作没有实现(由程序员在用户空间实现),用户空间库给程序员提供编程接口,程序员通过实现FUSE提供的fuse_operations或fuse_ll_operations的所有或部分操作来实现文件系统。
[0013] 当前操作系统中的用户数据是由文件系统组织并管理,随着大规模、数据驱动的应用的爆炸性增长,以及越来越多智能移动设备的出现,传统文件系统管理数据的方式在某些方面已不能满足需求。首先,传统文件系统以文件的方式管理数据,对数据本身信息的管理仅包括大小、创建/访问时间等少量信息,在应用程序开发中管理、组织数据时无法从文件系统中获取数据更多有价值的信息,导致复杂的数据检索、访问受到了很大限制。对此问题的一种处理方式是把数据中更多更有价值的信息交给应用程序来管理,但同时又导致数据被应用程序封装隔离,操作系统和其它应用程序不能获得数据及其信息。另一方面,传统文件系统不能处理存储在不同设备上用户数据之间的同步与共享,数据的物理隔离问题同样需要应用程序处理。最后,目前大部分文件系统与操作系统其它模块耦合度高,依赖于特定硬件设备类型,并且对外提供的接口也不尽相同,很大程度上增加了文件系统本身跨平台运行及应用程序的跨平台开发的难度。因此,需要一种新型的数据组织管理框架来满足应用程序开发者的现有需求。

发明内容

[0014] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种数据框架系统,用于解决现有技术中传统文件系统以文件的方式管理数据,对数据本身信息的管理仅包括大小、创建/访问时间等少量信息,在应用程序开发中管理、组织数据时无法从文件系统中获取数据更多有价值的信息,导致复杂的数据检索、访问受到了很大限制;把数据中更多更有价值的信息交给应用程序来管理,但同时又导致数据被应用程序封装隔离,操作系统和其它应用程序不能获得数据及其信息。传统文件系统不能处理存储在不同设备上用户数据之间的同步与共享,数据的物理隔离问题同样需要应用程序处理;大部分文件系统与操作系统其它模块耦合度高,依赖于特定硬件设备类型,并且对外提供的接口也不尽相同,很大程度上增加了文件系统本身跨平台运行及应用程序的跨平台开发的难度的问题。
[0015] 为实现上述目的及其他相关目的,本发明提供一种数据框架系统,包括:数据存储层,用于提供数据基本访问接口、数据的存储和设定数据在磁盘上的组织方式;数据访问层,松耦合于所述数据存储层,用于结合所述数据存储层的接口实现数据访问、设定数据在内存中的组织方式。
[0016] 于本发明的一实施例中,所述数据存储层包括用户空间文件系统,用于控制最小化数据操作中版本控制的时间,并保证系统各部分中数据的一致性。
[0017] 于本发明的一实施例中,所述用户空间文件系统包括:
[0018] 版本控制模块,用于实现所述数据框架系统的版本控制功能;
[0019] 文件属性扩展模块,用于将基础文件属性扩展形成扩展后的文件属性。
[0020] 于本发明的一实施例中,所述扩展后的文件属性包括音乐、文档、联系人,视频和图片。
[0021] 于本发明的一实施例中,所述用户空间文件系统还包括:
[0022] 索引模块,用于根据类型和版本对文件进行索引后发送至所述文件属性扩展模块。
[0023] 于本发明的一实施例中,所述数据访问层包括系统服务模块,用于以系统服务的形式提供数据访问服务。
[0024] 于本发明的一实施例中,所述系统服务模块包括:服务获取模块,用于向上级设备提供或获取服务;API读写模块,用于所述数据框架系统直接访问数据。
[0025] 于本发明的一实施例中,所述服务获取模块包括数据共享单元、数据恢复单元、数据检索单元和数据同步单元。
[0026] 于本发明的一实施例中,所述API读写模块包括:JavaScript API,用于支持基于JavaScript、HTML、CSS的Web前端技术开发应用程序,并调用数据框架系统提供的数据访问API;文件系统API,用于直接通过所述数据存储层读写数据。
[0027] 于本发明的一实施例中,所述数据访问层还包括RDF数据库,用于存储数据富信息。
[0028] 如上所述,本发明的一种数据框架系统,具有以下有益效果:
[0029] 实现了用于支撑数据检索、数据访问、数据存储、数据同步/共享以及数据恢复等功能的Javascript API共54个,同时数据框架的运行时环境由Node-Webkit实现,支持基于Web技术的混合应用开发,由此带来了应用开发难度和工作量的明显降低。只需要使用HTML、CSS等前端技术做数据处理即可提供多设备下的用户数据管理功能,与传统文件管理器应用程序相比开发难度小,并且能够同时运行在Linux、Android等平台上,节省了50%以上的代码开发工作量。

附图说明

[0030] 图1显示为现有技术中FUSE的系统框架示意图。
[0031] 图2显示为本发明数据框架系统的一实施例的系统方框示意图。
[0032] 图3显示为本发明数据框架系统中文件属性扩展示意图。

具体实施方式

[0033] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0034] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0035] 参见图2至图3。如图2所示,图2显示为本发明数据框架系统的一实施例的系统方框示意图。本发明提供一种数据框架系统,包括:数据存储层,用于提供数据基本访问接口、数据的存储和设定数据在磁盘上的组织方式;数据访问层,松耦合于所述数据存储层,用于结合所述数据存储层的接口实现数据访问、设定数据在内存中的组织方式。
[0036] 进一步地,所述数据存储层包括用户空间文件系统,本实施例中,所述用户空间文件系统在Linux系统中基于Ext4系统进行开发。用于控制最小化数据操作中版本控制的时间,并保证系统各部分中数据的一致性。如图3所示,图3显示为本发明数据框架系统中文件属性扩展示意图。所述用户空间文件系统包括:版本控制模块,用于实现所述数据框架系统的版本控制功能;文件属性扩展模块,用于将基础文件属性扩展形成扩展后的文件属性。在本发明的一优选实施例中,所述扩展后的文件属性包括音乐、文档、联系人,视频和图片。为了方便数据访问层调取数据存储层信息,所述用户空间文件系统还包括:索引模块,用于根据类型和版本对文件进行索引后发送至所述文件属性扩展模块。
[0037] 进一步地,所述数据访问层包括系统服务模块,用于以系统服务的形式提供数据访问服务。所述系统服务模块包括:服务获取模块,用于向上级设备提供或获取服务;API读写模块,用于所述数据框架系统直接访问数据。在本发明一优选实施例中,所述服务获取模块包括数据共享单元、数据恢复单元、数据检索单元和数据同步单元。所述API读写模块包括:JavaScript API,用于支持基于JavaScript、HTML、CSS的Web前端技术开发应用程序,并调用数据框架系统提供的数据访问API;文件系统API,用于直接通过所述数据存储层读写数据。所述数据访问层还包括RDF数据库,用于存储数据富信息。
[0038] 数据框架设计总体上分为两层,由下到上分别为数据存储层和数据访问层。两层之间松耦合,下层提供数据基本访问接口,上层利用存储层接口实现高效、丰富的数据访问功能。数据存储层负责数据的存储,决定了数据在磁盘上的组织方式,需要解决的问题包括元数据存储、数据载荷存储、提供版本控制策略、历史版本存储、数据索引存储等。数据访问层负责数据的访问,决定了数据在内存中的组织方式,需要解决的问题包括数据检索、数据访问、数据同步、数据共享、数据恢复等,并对应用层提供统一数据访问API。
[0039] 数据存储和访问对空间、时间性能要求都很高,数据框架旨在提供更多丰富、复杂的功能。在设计上把对性能影响最大的基本功能放在数据存储层,主要关注存储的空间时间性能,存储操作采用操作系统底层技术实现;把复杂的功能放在数据访问层,主要从开发者数据访问需求角度做数据复杂处理,该部分采用前端技术做灵活高效的开发。数据存储和数据访问两层能够各自独立运行,数据存储层可以直接兼容现有应用的文件操作,数据访问层可以运行在其它文件系统之上。数据存储层在Linux系统中基于Ext4系统开发用户空间文件系统,一方面最小化数据操作中版本控制带来的时间开销,另一个方面更容易保证系统各部分中数据的一致性。扩展的功能主要包括加入版本控制功能,在用户控件文件系统的操作接口中加入基于git的版本控制底层功能,但不包括数据同步等功能,并且针对音乐、视频及其它二进制大文件参考Git-annex等系统的解决方案来进行版本控制;还包括扩展文件属性信息功能,基于元数据查询访问数据,利用Ext4文件系统提供的扩展属性支持。进一步地,数据访问层基于Node-webkit运行时环境,以系统服务的形式提供数据访问服务。其他应用进程有两种方式访问数据,一个是通过进程间通信机制获取数据检索、数据同步、数据共享、数据恢复服务,另一种方式是直接通过数据存储层提供的文件系统API读写数据(兼容非HTML5应用)。支持的功能包括检索功能,数据检索能够支持各种复杂、模糊条件查询。根据数据检索需求,采用RDF标准表示数据;此外还包括多设备环境数据访问,包括数据同步、数据共享和数据恢复功能,这些功能利用数据存储层的用户控件文件系统提供的版本控制功能,根据需求实现不同策略的数据访问方式。进一步地,数据框架系统向上层提供统一的JavaScriptAPI,用以支持基于JavaScript、HTML、CSS等Web前端技术开发应用程序,并调用数据框架系统提供的数据访问API。基于该数据框架系统进行做应用开发,可以使用系统级的多设备环境下数据同步、共享、数据恢复等功能,以及利用多维度的数据描述信息做数据检索,开发者只需要考虑数据逻辑处理而无须考虑数据访问问题。
[0040] 其中,数据存储层具体实现方法如下:
[0041] 数据框架在多设备方面实现四个功能:数据检索、数据同步、数据共享、数据恢复。这些过程需要自动解决多设备下的数据冲突问题,通过版本控制来处理该问题。数据存储层基于FUSE和Libgit2库开发用户空间文件系统。
[0042] 实现版本控制基本功能,根据FUSE框架基本原理,定制文件系统访问操作接口加入Git底层操作。在文件系统中增加Object文件和Ref文件,实现用户数据文件git仓库的建立。
[0043] 在FUSE的文件系统接口中实现文件访问、读写、元数据修改等操作的自动commit操作,实现分支的保存、修改和合并操作。
[0044] 对于数据同步、数据共享和数据恢复功能,由数据访问层调用存储层基本功能接口来实现。
[0045] 优化基于Git文件系统的空间性能,设计灵活的历史版本删除机制,把元数据存储在ext4文件结构中,而不是以独立文件方式存储
[0046] 优化基于Git文件系统的时间性能,针对Git以内容为索引的存储机制,寻求高效的数据索引方法,提高上层查询数据速度。
[0047] 更改Git后端平面文件的存储方式,直接在数据存储层使用RDF数据库Levelgragh更换Git后端存储,这样在上层可以省略数据库组件,无论空间还是时间都会有大幅度的性能提升。
[0048] 数据存储层作为一个用户控件文件系统,向上层提供多个API。其API包含两个部分,一部分是FUSE提供的标准接口,标准接口能够兼容其它文件系统接口。通过修改标准接口的实现,完成版本控制等功能,这样对于现有的应用程序来说,不需要修改代码即可兼容数据存储层文件系统。第二部分是数据存储层文件系统特有的接口,提供标准接口之外的功能,比如同步,基于数据存储层文件系统开发的应用程序或系统程序可直接调用该文件系统特有的API功能。
[0049] 数据访问层具体实现方法如下:
[0050] 在数据访问层,本发明采用RDF数据库Levelgragh存储数据,涉及的主要数据类型包括音乐、文档、联系人、视频、图片。目前这些数据类型可以基本满足日常使用的需求,但是如果仅围绕这几大类数据来设计将会导致设计不具备可持续发展性。同时,希望数据类型能更具有可扩展性。因此,在处理数据类型时,考虑到要将所有资源的一些共性提取出来,定义一个基础的类型和基础的属性。在此基础上,任何特定的数据类型都可以看做是基础类型的扩展。将这些数据类型所共有的属性定义为base属性,每种数据类型的属性都是基于base属性的扩展。其关系如图2所示。这样设计使数据表示更具有可读性,也便于管理和维护,数据类型的添加和删除会更加容易。将数据类型的定义与数据操作分离后,这一点在开发过程中体现得更加明显。这样设计还可以灵活的实现类型扩展。如果需要增加新的数据类型,只需将类型继承RDF的数据描述词表,然后相应扩展类型特有的描述词即可。具体的扩展类型可见下列表格。
[0051] 基础类的属性如表1所示:
[0052] 表1基础类属性
[0053] 属性 类型 描述URI string 数据的唯一标识
createTime date 数据的创建时间
lastModifyTime date 数据最后一次修改时间
lastAccessTime date 数据最后一次访问时间
createDev string 创建数据的设备号
lastModifyDev string 最后一次修改数据的设备号
lastAccessDev string 最后一次访问数据的设备号
filename string 文件名
postfix string 文件后缀名
category string 数据类型名
size integer 数据大小
path string 数据路径
tags string 数据标签
[0054] 音乐类型的属性如表2所示.
[0055] 表2音乐类型扩展属性
[0056]属性 类型 描述
bit_rate string 音频文件的比特率
frequency Integer 音频文件的频率
track string 音频文件的轨道名称
TDRC string 数据最后一次访问时间
APIC string 音乐文件的封面数据
TALB string 专辑名称
TPE1 string 音乐的歌手
TXXX string 音乐的作者
TIT2 string 音乐的title
COMM string 音乐的厂牌名称
[0057] 文档类型的属性如表3所示.
[0058] 表3文档类型扩展属性
[0059]属性 类型 描述
project string 文档所属项目名称
[0060] 视频类型的属性如表4所示.
[0061] 表4视频类型扩展属性
[0062]属性 类型 描述
format_long_name string 视频文件格式名
width Integer 视频画面宽度
height Integer 视频画面高度
display_aspect_ratio string 视频画面比例
pix_fmt string 像素大小
duration string 视频长度
major_brand string 解码器名称
minor_version string 解码器版本
compatible_brands string 解码器厂牌
[0063] 图片类型的属性如表5所示.
[0064] 表5图片类型扩展属性
[0065] 属性 类型 描述location string 视频文件格式名
[0066] 文档类型的属性如表6所示.
[0067] 表6联系人类型扩展属性
[0068] 属性 类型 描述lastname string 视频文件格式名
firstname Integer 视频画面宽度
email Integer 视频画面高度
pnone string 视频画面比例
[0069] 数据访问层基于RDF为开发者提供数据访问功能,而数据访问层的开发基于数据存储层所提供的API进行底层数据调用。开发者直接调用数据访问层提供的Web语言API进行应用开发,而无需关心数据存储层的实现。数据存储层是基于Libgit2库进行设计实现的,其数据信息是以blob的形式进行存储的,故在数据访问层调用新建或者修改相关的API时,需要调用数据存储层接口,向文件系统写入相应数据,即向底层与其存储对应的Blob中写入数据。数据存储层数据的读写都是以Blob为对象进行的。数据存储层提供生成URI的API,给数据访问层调用。在新建数据时,数据存储层生成唯一标识数据的URI,则数据访问层通过URI进行数据访问。本发明中的文件系统无路径概念,仅通过唯一标识的URI来获取数据。通过数据访问层修改元数据或数据后,数据存储层对应的数据也需要被修改,而且应该根据数据的最新版本更新存储数据。
[0070] 综上所述,通过把数据的管理分为数据存储层和数据访问层,并分别解决数据存储层中的数据存储结构、数据存储方式、历史版本存储、数据信息存储等问题,以及数据访问层中数据信息表示方式、数据访问和两层之间的接口问题,数据框架系统为应用程序开发者提供了多设备环境下,完整的用户数据组织管理解决方案。
[0071] 本发明中,数据存储层,负责数据的存储控制,完成数据同步、恢复和共享功能,包括数据版本控制的实现,以及引入版本控制功能开发的用户空间文件系统;数据访问层,负责对数据的访问进行控制,对数据的富信息进行存储,向下调用数据存储层的接口对存储的数据进行增删改等操作,向上为开发者提供开发接口,使开发者快捷开发数据应用。
[0072] 所述数据存储层将Libgit2与用户空间文件系统FUSE结合,构建了新的文件系统。该文件系统提供现有文件系统通用API,兼容现有文件操作;还提供加入数据版本控制功能的特有API,完成数据版本控制特有功能
[0073] 所述数据访问层采用RDF图数据库存储数据的富信息,使得信息间的关系可以完全存储且无结构限制,而且可以为每个数据存储任意多的数据描述信息;用户还可以通过某数据的任意描述信息检索数据。
[0074] 数据框架系统具有Web访问特性,用户可以通过任意一台可以与数据服务互联的计算机通过浏览器访问数据应用。且修改Libgit2中的数据存储结构,原系统会保存两份数据:工作区数据和Git object块存储数据,这大大浪费了存储空间。在本数据框架的数据存储层,仅仅保存Git object块中的数据,而不对数据进行额外备份,节约近50%的存储空间。修改Libgit2中的数据检索机制,原系统通过数据的路径进行数据检索和访问;而在本数据框架中,数据不再以路径的方式进行存储,对数据的检索仅仅通过唯一标识符URI来进行,故改变Libgit2中的数据检索逻辑,使对数据的访问通过URI来进行。本发明基于RDF数据库对数据的富信息进行设计,构建基础类表base,存储各个数据类型通用的属性,并基于基础类表扩展各个数据类型的特有属性。使得数据类型具有较强的可扩展性,数据库也具有较强的可伸缩性。开发者只需要使用JavaScript、Html5和CSS等Web前端开发语言,便可以便捷的开发复杂的数据应用,完成复杂的功能需求。
[0075] 综上所述,本发明的一种数据框架系统,实现了用于支撑数据检索、数据访问、数据存储、数据同步/共享以及数据恢复等功能的Javascript API共54个,同时数据框架的运行时环境由Node-Webkit实现,支持基于Web技术的混合应用开发,由此带来了应用开发难度和工作量的明显降低。只需要使用HTML、CSS等前端技术做数据处理即可提供多设备下的用户数据管理功能,与传统文件管理器应用程序相比开发难度小,并且能够同时运行在Linux、Android等平台上,节省了50%以上的代码开发工作量。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0076] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。