大数据的复合文档组织与存取模型GriDoc的制作方法

文档序号:10570040阅读:163来源:国知局
大数据的复合文档组织与存取模型GriDoc的制作方法
【专利摘要】本发明公开了一种大数据操作访问方法与模型,简称GriDoc,支持用户采用模型化的方式操作访问大数据,包括可视化操作与应用程序操作,使大数据操作访问走向模型支撑化。GriDoc模型由数格的定义以及数格的支撑环境体系构成。数格是一种面向大数据操作访问的虚拟集成视图,充当后台数据的操作访问对象代理,支持按照模型化的方式选取与虚拟重组数据。数格的支撑环境与工具是支撑数格功能实现的计算机软件,对大数据的所有的操作访问,包括定位、获取、读写、更改等操作,以及完成这些操作所需的数据同步、流量调度、并发访问控制、安全保密与身份认证等事务,都由支撑环境与工具实现。
【专利说明】
大数据的复合文档组织与存取模型Gr i Doc
技术领域
[0001]本发明涉及计算机软件领域,尤其是计算机应用系统的构造方法。
【背景技术】
[0002]数据是人类社会的一种重要资源,大数据的管理与使用,对于各行各业的发展起到推波助澜的作用,科学与现代的解决方案都基于大数据。大数据的主要特征是异构、分布、海量与低价值密度,因此,对大数据的使用与管理,需要解决这些特征所带来的问题。
[0003]大数据组织,是指大数据的面向应用的逻辑关系或者模型的建立与描述,旨在方便管理与使用,实现与物理存储无关。
[0004]在大数据概念提出前,数据的建模概念只出现在关系数据库的使用方面,或者数据仓库方面。在计算机应用推动下,人们积累的数据越来越丰富越来越庞大,对这些数据的“二次使用”成为重要问题,推动了大数据概念的产生,也使大数据组织成为不可回避的问题。
[0005]然而,目前的技术只注重大数据的物理组织和简单的面向检索的逻辑组织,典型的方法Key-Value模式和列模式。Key-Value模式将所有的数据都表示为“关键字-值”对。“关键字-值”一般采用Hash表(分布式Hash表)存储,管理系统不对“值”规定具体的用法,也不进行解释。列模式与Key-Value模式类似,只是将数据都表示为由“关键字”标示的“列”,相当于“值”为列的“关键字-值”对。这种组织方式一般面向查询,难以描述具体的应用逻辑,也不适合大数据的面向知识的管理,所以使用受到很大限制。

【发明内容】

[0006]—、发明的基本内容与目的
本发明的目的在于克服现有技术的缺点与不足,提供一种新的大数据组织与操作使用方法,称为格文档(GriDoc模型),支持用户对分布式异源异构数据进行模型化的虚拟集成,并基于虚拟集成实现对大数据的存取逻辑或者物理抽取后,重新组合与加工以及分解与集成,形成复合结构文档型的数据视图,支持实现对大数据进行模型化的操作与共享以及面向知识管理的应用。
[0007]GriDoc模型的主要内容包括称为数格模型的大数据的组织与存取结构、数格的变换与融合规则及其基于数格的大数据组织与操作访问的支撑机制等方面。其中,数格模型用于定义虚拟集成数据视图,数格变换规则用于视图的改变与衍生,数格融合用于多个视图的合并,而支撑机制定义了如何基于教育数格对大数据进行操作访问与知识管理。
[0008]
二、数格结构
数格文档模型(在无二义性情况下也简称“数格”)是大数据的一个虚拟集成视图模型,定义了一个具体的数格的组成成分及其特性,包含成分的来源、成分的关联关系与存取策略等方面的描述。数格中的段与节都称为数格元素。
[0009]数据关联关系是树结构的有序表,简称“树表”,主要包括顺序与包含两种关系,它们的应用含义(语义)由应用者定义与解释;成分的存取策略定义数据成分如何获取与写入。格文档模型关联上相应的数据后称为格文档。'
数格的关系是一个节的有序表。一个节可以是一个数据段,也可以是其他节,也可以是满足本定义的其他数格。数据段是基本数据是单位,可以是OS文件,也可以是以服务模式提供的通过服务访问到的数据集合,例如,server型关系数据库数据、Web service数据等,特别的是,数据段也可以是数格引擎的数据或者格件引擎(格引擎)数据。
[0010]每个数格对应一个数格描述符,简称“数格叙”,用以描述数格的组织结构与语法、语义及访问权限等信息等。如果一个节中包含其他节,则这些节称为子节。每个节也都对应一个节描述符,即节叙,说明节的语法与语义及权限等以及访问控制信息信息。段也具有类似于节叙的段叙,主要描述段的段引擎位置信息、访问方式与访问控制信息。
[0011]数格的形式化定义为:
一个数格文档G是节SI,S2,…,Sn的一个有序表:
G=(S1, S2,..., Sn);
其中,任一个节Si定义为段或者其他节的有序表:
S = (psl, ps2,..., psm), i=l ,2,..., m 附图1是GriDoc的文档结构示意图。
三、数格操作模型
(3.1)数格元素的引用
数格中的段与节都是数格元素。对数格进行的大多数操作,都需要引用数格中的元素。设S是一个节或者段的引用,则它的引用模式为:
S[sel]:当sel指称的是一个单一的元素,则返回的引用是该元素,否则,将选择器sel指称的元素序列看做一个新节,返回其引用
S(name):返回元素名name对应的元素的引用;
选择器Sel用于指定多个序号,它中包含多个型为“起点_终点”的序号范围定义,它们定义的范围的并即为整个Sel的范围定义。指定一个序号范围,它的语法格式定义如下:IndexSelector::= IndexScope | (IndexScope 〃,〃 IndexSelector)
IndexScope::= INTEGER | ( INTEGER? 〃_〃 INTEGER?)
INTEGER::= (〃-〃 I "+〃)? DIGITSDIGITS::=DIGIT | ( DIGIT DIGITS)
DIGIT::= 0|I|2|3|4|5|6|7|8|9
序号选择器sel的语义定义如下,设i和j为任意整数:
模式1:型为“i”,当i为非负数,指称序号为i的元素;当i为负数,指称序号为N+i的元素,这里N是序号总数。
[0012]模式2:型为指称从序号i起到序号j之间的每个元素;i表示的位置应该在j表示的位置之前。当i为非负数时,i表示的序号是i本身,否则表示的序号是N+i,这里N是序号总数,对j亦类似。i或者j都可以缺省.1缺省时表不最小序号,j缺省时表不最大序号。
[0013]模式3:多项“i”或者和以逗号分隔。所指称的是各项指称的并(去除重复); (3.2)数格元素定位抽取操作
在进行数据访问或者文档或操作时需要进行数格元素的引用的获取,称为定位操作。
[0014]数格元素抽取定位的结果的类型是元素引用,定位的操作对象是节引用。定位操作的模式为:
Sec.Use(scope,cond,serializeMode )
其语义是返回节Sec中的范围k内的满足条件cond的元素的引用。
[0015]Sec是一个节引用;
Use是操作指令标识符,实现时可以使用其他标识符; cond是逻辑表达式,指示查找条件;
scope为用下划线分割的整数对语法语义遵循序号选择器中的元素,指示搜素的层次范围,即在i层与j层之间搜素。。
[0016]serializeMode,表示序列化方式,当满足scope和cond的元素有不止I个时,将各元素按照serialize指示的方式序列化。
[0017]idx为整数,指示返回引用的范围,值I和2分别表示先根序列化和后跟序列化,值为3表不层序序列化。
[0018]当满足k和cond的应用的元素有多个时,系统按照序列化方式serializeMode将满足的应用序列化;
(3.3)数格元素的更改
GriDoc支持对数格元素进行更改,包括元素替换、元素插入和元素删除等操作实现。元素更改也实现了数个模型与内容的更改。设el与e2是利用定位操作指称的元素,Sec是一个节的引用。
[0019]元素替换操作的模式为:
Sec.Replace(el,e2)
表示将Sec中的元素el替换为e2。
[0020]元素的插入操作模式为:
Sec.1nsert(el,e2)
表示在Sec中的el的定位引用的前面插入元素e2;
元素的删除操作的模式为:
Sec.delete(el)
表示将el指称的元素从Sec删除。
[0021]
(3.4)数格变换与融合操作
数格的变换与融合的目的是将现有的模型加工生成新的模型,以适应不同的应用需求。
[0022]数格的融合定义为对多个数格进行操作,使它们合并为一个新数格;数格的变换定义为对一个数格实施操作,使其转化为另一种数格,或者分解为多个新数格。
[0023]数格的融合操作种类如下,设Secl,Sec2等是节引用全追加:将Sec2加到Secl的末尾;
Secl.Append(Sec2) 设G,G1,G2,…,为代表数格的元素结合,用符号“+”表示,定义为两个数格Gl和G2的节首尾相接,形成一个新数格,用集合论方法定义为集合并:
Gl U G2
后减追加:将数格Sec2中未出现在Sec I中的元素依次加到Sec I的末尾,形成新的格: Secl.Append2(Sec2)
用集合论方法定义为:
Gl U (G2 - Gl)
前减追加:将数格Sec2中全部节依次加到Secl末尾,并且将Secl中的已经在Sec2中的元素删除,形成新的格:
Secl.Append3(Sec2)
用集合论方法定义为:
Gl - G2)U G2o
[0024]
四、数格格文档工作模型
这里定义的数格文档的工作模型,是指数格文档的运作与工作的机制、方式与方法,框定了用户和应用系统运用GriDoc操作访问大数据的方式与方法。
[0025](4.1)格文档系统组成成分一个格文档应用,包含下列成分:
■段引擎:为软件服务器,段的访问代理,同时也是段的发布引擎,所有对段的访问都通过段引擎实现。
[0026]段引擎主要有两个方面的功能,一是负责与数据源的交互,按照段叙存取数据源,包括发布数据与反馈数据;二是处理客户对段引擎的服务请求。
[0027]■数格引擎:为软件服务器,它一方面根据数格叙维护虚拟集成视图,另一方面处理用户(含应用程序)对数格的操作访问。数格引擎的功能的最终实现是通过访问段引擎进行的,它是段引擎的客户,是终端用户的服务器。
[0028]数格文档引擎中包含各种主要的数据处理算法,如分布式查询、同步、缓冲、传输的序列化与压缩、并发访问控制与流量调度等;
■数格驱动器:为API,支持用户编写基于GriDoc的应用程序,用于支撑应用程序对数格引擎的访问,主要包括建立与数格引擎的连接,发送访问请求到数格引擎,从数格引擎接收返回结果。该驱动器在作用上类似于ODBC或者其他数据库驱动器。
[0029]
(4.2)Gridoc应用的开发模式
Gr iDoc包含两种应用:Gr iDoc管理器和Gr idoc应用程序.GriDoc管理器是一种可视化管理器,支持用户以可视化的形式针对数格GriDoc据文档进行定义、创建、权限配置等操作,以及前面定义的文档的三类操作:查找、更改与融合。
[0030]Gridoc应用程序是一种用程序设计语言编写的包含对数格GriDoc访问的计算机程序,基于数格引擎与数格Gr iDoc驱动器工作;一个Gr iDoc应用是一个客户/服务模式的应用,客户端是用标准程序设计语言或者脚本语言编写的基于数格驱动器的应用程序,服务端是数格引擎与段引擎。客户端访问数格格文档时,通过调用数格驱动器向数格引擎发送访问请求,数格引擎接到访问请求后,对于关于段的操作,则请求段引擎进行服务,对于其他操作,直接在数格引擎中进行处理。
[0031](4.3)格文档的工作机制与方式
4.1中定义的GriDoc的主要组织成分反映了Gridoc的工作机制借助与方式。GriDoc的工作,是应用程序、数格引擎、段引擎和数格驱动器之间的协同工作,基本过程与方式描述如下:
[I ](开发人员工作:设计数格模型)用户根据具体应用需求采用数格管理器或者文本编辑器为应用设计数格模型,并存入数格引擎;
[2](应用程序工作;连接数格引擎)数据操作应用程序通过数格驱动器连接数格驱动器连接数格引擎。
[0032][3](应用程序工作:发数据操作指令)应用程序通过数格驱动器想数格引擎发出数据操作指令;
[4](数格驱动器工作)数格驱动器通过EITP协议将应用的数据操作指令传输到数格引擎;
[5](数格引擎工作)数格引擎接收数格驱动器发来的数据操作指令,对于段的访问,提交段引擎处理;对于其他访问,则自己处理。处理完成后将结果通过EITP协议回送到应用程序端;
[5](应用程序工作)应用程序过数格驱动器或者事件处理器接收并处理数格引擎回送的操作结果。
[0033][6](应用程序工作)当应用程序需要操作数据时,继续从[4]所述步骤执行。
【附图说明】
[0034]图1是本发明的数格结构的示意图(GriDoc的文档结构);
图2是GriDoc软件体系示意图(GriDoc应用体系);
图3是本发明的GriDoc支撑体系的示意图;
图4是本发明的物联引擎与段引擎组成的示意图。
【具体实施方式】
下面结合实施例及附图对本
【发明内容】
及实施方法作进一步的描述,但本发明的实施方式不限于此。
[0035](I)GriDoc支撑系统体系结构
GriDoc的支撑系统是指用户使用GriDoc操作访问大数据所需的共用的计算机软件。该软件是按照GriDoc模型的规定实现的,软件的组成、功能体系及相互作用方式等都属于GriDoc内容,但具体的计算机软件编程,可由实施者自己提供。
[0036]GroDoc的运行支撑环境主要包括数格引擎、段引擎、数格驱动器。这个三种软件成分是GriDoc特定的,还有一些其他成分可以有实施者自行确定。
[0037]这里基于我们给出的E1框架与EITP协议实现GriDoc,这是GriDoc推荐使用的方式,但这里不不限定一定采用,实施者可以采用自己的方案。
[0038]采用E1与EITP实现,主要引入EITP实现所需的会话引擎与物联引擎。基本体系如图3所示。
[0039]图中各主要部分说明如下:
■数格引擎、段引擎、数格驱动器:如前所述,前两者为软件服务器,后者为API。
[0040]■会话引擎:基于EITP协议或者其他协议受理客户端与数格引擎之间的交互、数据引擎与数据连接引擎之间的交互操作。这里,会话引擎连接数格引擎,以服务的形式支撑应用端和段引擎之间的交互。
[0041]■物联引擎:用于传输会话引擎与数据对象端之间的通信指令。通过物联引擎,可以将任意对象例如EITP交互协同,实现物联网。这里,物联引擎负责连接段引擎,以服务的形式与段引擎交互,支撑用户对段引擎的访问。
[0042]
(2)段引擎的体系结构
段引擎通过物联引擎例如EITP网络,处理对段的访问请求。它属于物联引擎的一个对象抽注器,外挂在物联引擎,被段访问原语的指令处理器调用,如图4所示。
[0043]段引擎的内部组成包括下列几个部分:
■段托盘:用做引擎与数据源之间的段数据的双向缓存与发布。系统容许用户决定每个段是建立引擎本地的缓存与发布。如果某个段选择了托盘,则托盘做为数据源中段的映像,引擎读段是从托盘读取,而更新段时是更新托盘中的数据,此时,托盘与数据源之间的数据的一致性由专门的同步模块负责实现。
[0044]■段表:为段的索引表。表的基本结构为(关键字,是否有映像,映像位置,数据源位置,…),其中,关键字对不同的数据类型选择方法不同,对于记录集,关键字为记录中字段的串联,对于非记录型数据,关键字是数据块中的某块数据,用字节起始位置与长度表示;
■段符:定义段表中的每个段的生成与同步策略。对于关系数据库,生成策略为SQL语言,对XML文件,生成策略为DOM,对服务型数据,生成策略是数据请求指令,对其他非结构化文件数据,生成策略为位置与截取长度。同步策略指出段映像与数据源的更新关系。同步策略分为同步方向定义与同步时机定义。同步方向有两种:
A)缓冲区同步:正向同步,使映像的内容与数据源保持一致。用于读取数据源;
B)数据源同步:反向同步,使数据源的内容与映像保持一致。用于数据写入或者更改数据源。
[0045]同步时机有三种策略可选:
A)热同步:数据源一有变化,就进行一致化;
B)温同步:有数据段访问请求时,检查更新,并进行一致化;
C)冷同步:定时同步,按照规定的时间表或者闹钟或者周期同步数据。
[0046]
上述这几种数据结构,在具体实现时均定义为对象,要提供读写查等功能。
[0047]
■段同步模块:负责按照同步策略实现段映像与数据源之间的一致化■段变化传感器:按照同步策略中的同步时机监测段是否发生变化,如果变化,则触发一个数据同步事件,供同步时间处理器处理。
[0048]■段操作接口:提供段的定位、读、写等编程接口,供上层实现对段的完备访问,由段映像对象与段表对象实现。
[0049](2)数格引擎的体系结构
数格引擎支撑客户端按照GriDoc模型访问大数据,它按照用户自定义的数格模型组织数据,并处理用户的数格访问请求,充当数格服务器的功能。
[0050]数格引擎与段引擎有着类似的体系,主要区别是数格引擎基于数格描述语言组织数据并处理基于数格模型的访问操作语言,而段引擎只是单纯地组织与操作段集合。此外,数格引擎引用的段,可以来自本地,也可以来自段引擎或者其他数格引擎。
[0051]数格引擎的实现可基于EITP协议,此时,它作为会话引擎的外挂模块。
[0052]数格引擎的组成,包含全部段引擎的成员,此外,还增加数格描述集合。
[0053]数格描述集合有多个数格描述符组成,每个数格描述符用于定义一个数格模型。
[0054]
施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
【主权项】
1.本发明公开了一种大数据操作访问方法与模型,简称GriDoc,支持用户采用模型化的方式操作访问大数据,包括可视化操作与应用程序操作,使大数据操作访问走向模型支撑化,目标是简化大数据操作访问的工作,提高操作访问的效率与性能。2.GriDoc模型由数格的定义以及数格的支撑环境体系构成。3.数格是一种面向大数据操作访问的虚拟集成视图,充当后台数据的操作访问对象代理,支持按照模型化的方式选取与虚拟重组数据,使对大数据的所有操作访问与管理都只通过数格进行,无需知晓后台数据。4.数格的支撑环境与工具是支撑数格功能实现的计算机软件,对大数据的所有的操作访问,包括定位、获取、读写、更改等操作,以及完成这些操作所需的数据同步、流量调度、并发访问控制、安全保密与身份认证等事务,都由支撑环境与工具实现。5.在GriDoc模型下,对大数据的操作访问以及数据选取与重组,都是基于对数格的定位、变换和融合进行的。6.GriDoc用户(包括终端用户与应用程序)首先是按照GriDoc的数格规范按照用户需求创建数格于数据源发布,用于描述用户的数据选取与重组结构,然后,利用数格的定位、变换与融合操作来操作访问数格或者重组数据,而数格支撑环境则自动将用户的操作访问映射的后台数据。
【文档编号】G06F17/30GK105930475SQ201610269869
【公开日】2016年9月7日
【申请日】2016年6月28日
【发明人】齐德昱, 唐洁, 齐启豪
【申请人】齐德昱
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1