CN105528424A - 大数据环境下实现数据持久化的系统及方法 - Google Patents
大数据环境下实现数据持久化的系统及方法 Download PDFInfo
- Publication number
- CN105528424A CN105528424A CN201510894748.5A CN201510894748A CN105528424A CN 105528424 A CN105528424 A CN 105528424A CN 201510894748 A CN201510894748 A CN 201510894748A CN 105528424 A CN105528424 A CN 105528424A
- Authority
- CN
- China
- Prior art keywords
- sdo
- data
- persistence
- module
- change
- 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.)
- Granted
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种大数据环境下实现数据持久化的系统及方法,其中包括WEB应用前端处理模块;SDO反序列化模块;SDO实现模块;SDO变更摘要解析模块;SDO持久化模块;SDO序列化模块,用以将SDO数据对象经解析后,转化为WEB应用前端所需的数据模型。采用该种结构的大数据环境下实现数据持久化的系统及方法,业务开发人员在实现业务需求时,不再需要单独开发具体表单的持久化添加、修改、删除功能;通过进一步的封装,任何的业务表单需求,经解析后都可转化为SDO的变更摘要,对变更摘要执行持久化的API调用,即完成了表单数据的添加、修改、删除操作,简化了业务开发流程,业务开发人员专注于实现业务逻辑规则,从而提高开发效率,具有更广泛的应用范围。
Description
技术领域
本发明涉及领域,尤其涉及,具体是指一种大数据环境下实现数据持久化的系统及方法。
背景技术
随着现代社会科学技术的发展,计算机软件系统即企业应用系统的业务的不断进步,企业要求软件系统对业务需求的响应速度越来越快,随着软件复杂度的增大,SOA(ServiceOrientedArchiecture的缩写,指面向服务的架构)架构以业务为中心,由业务驱动IT,使IT和业务更加紧密的联系起来,SOA要求以构件化服务为基础来实现IT系统更灵活、更易于重用、更快的应对变化。
SDO(ServiceDataObjects服务数据对象,简称SDO)是一种编程模型的规范,SDO框架为数据应用程序开发提供了统一的框架,它允许您处理来自多种数据源的数据,其中包括关系数据库、实体EJB组件、XML页面、Web服务、JavaConnectorArchitecture、JavaServerPages页面等。同时支持通过标准的、动态的数据API来表示数据对象。
SDO规范中的变更摘要(ChangeSummary),提供了访问数据图中数据对象的更改历史信息的机制,变更摘要用于跟踪数据对象的变化,变化历史包括所有自日志被激活那一刻开始起到现在的对一个数据表的所有修改。如果日志被关闭,那么日志中仅包含直到日志无效时发生变化的日志。虽然只在日志被激活时变化信息才会被记录,但是查询变化信息不用关关注日志被激活还是关闭。所有变更摘要返回的信息都是只读的。
传统基于构件化的软件系统,通常会划分为三层:指表示层(Presentation),业务逻辑层(BusinessLogic)以及数据持久层(DataPersistence)。关于数据持久化层,业界已经有相当成熟的解决方案,如以低级别的数据库访问方式的JDBC、对JDBC进行轻量级封装的Hibernate、对SQL实现灵活配置化的iBatis以及JavaEE5平台上的标准的对象-关系映射和持久管理接口JPA(JavaPersistenceAPI)等。以上这些持久化层的解决方案,各有其业务应用的测重场景,同时已经有相当多已成功实施的应用案例。
目前这些持久化解决方案,都要求业务开发人员能熟悉具体方案,具备相应方案的开发能力,并应用其中一种(或多种相结合)持久化技术,结合业务需求,最终实现持久化操作。这对业务开发人员要求较高;尤其在没有很好的开发规范时,低水平开发人员很容易开发出效率低下的持久化功能;另外过多的关注于持久化操作,也使开发人员无法专注于业务规则处理,开发效率无法提高。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现无需过多关注持久化层的实现细节、借助SDO变更摘要、封装数据库持久化ORM(ObjectRelationalMapping,简称ORM)、实现对数据库添加、修改、删除的透明操作、使开发人员专注于业务规则处理的大数据环境下实现数据持久化的系统及方法。
为了实现上述目的,本发明的大数据环境下实现数据持久化的系统及方法具有如下构成:
该大数据环境下实现数据持久化的系统,其主要特点是,所述的系统包括:
WEB应用前端处理模块,用以将WEB应用的业务表单转化为变更集的数据模型;
SDO反序列化模块,用以将前端传输过来的数据模型反序列化为SDO对象模型,其中对所述的业务表单变更集进行反序列化;
SDO实现模块,用以对SDO接口的实现,其中包括对SDO变更摘要的实现;
SDO变更摘要解析模块,用以将SDO变更摘要解析成可供持久化的操作语句;
SDO持久化模块,用以SDO数据对象的持久化操作,其中包括对SDO变更摘要的持久化实现;
SDO序列化模块,用以将SDO数据对象经解析后,转化为WEB应用前端所需的数据模型。
较佳地,所述的WEB应用前端处理模块包括:
数据模型的设计子模块,用以利用数据模型记录业务表单的全量数据和业务表单的变更信息;
数据模型的解析模块,用以将数据模型解析为JavaScript对象;
模型数据校验模块,用以对数据串作进行合法性校验,确保传输的数据格式满足SDO变更摘要的解析要求。
更佳地,所述的模型数据校验子模块包括:
添加模型数据校验单元,用以对数据串中的添加记录做合法性校验;
修改模型数据校验单元,用以对数据串中的修改记录做合法性校验;
删除模型数据校验单元,用以对数据串中的删除记录做合法性校验。
较佳地,所述的SDO反序列化模块包括:
SDO对象的反序列化子模块,用以将从前端传输过来的请求Request解析后,将业务表单数据解析并转换成SDO对象;
SDO变更摘要的反序列化子模块,用于将从前端传输过来的请求Request解析后,将业务表单数据的变更解析并转换成SDO变更摘要对象。
较佳地,所述的SDO实现模块包括:
SDO的实现子模块,用以根据SDO接口规范实现SDO规范要求;
SDO变更摘要的实现子模块,用以变更摘要作为SDO规范的一部分并提供访问SDO数据图中数据对象的更改历史信息的机制。
较佳地,所述的SDO变更摘要解析模块包括:
解析SDO变更摘要的添加记录子模块,用以读取并解析SDO变更摘要中添加记录部分,并将其转化为可持久化操作的添加记录语句;
解析SDO变更摘要的修改记录子模块,用以读取并解析SDO变更摘要中修改记录部分,并将其转化为可持久化操作的修改记录语句;
解析SDO变更摘要的删除记录子模块,用以读取并解析SDO变更摘要中删除记录部分,并将其转化为可持久化操作的删除记录语句。
较佳地,所述的SDO持久化模块包括:
SDO普通对象的持久化模块,包括对象的查询操作,持久化要求遵照数据访问服务规范,实现查询表单数据的业务需求;
SDO变更摘要的持久化添加模块,遵照数据访问服务规范,执行持久化添加记录操作,实现添加表单数据的业务需求;
SDO变更摘要的持久化修改模块,遵照数据访问服务规范,执行持久化修改记录操作,实现修改表单数据的业务需求;
SDO变更摘要的持久化删除模块,遵照数据访问服务规范,执行持久化删除记录操作,实现删除表单数据的业务需求。
本发明还涉及一种基于所述的系统于大数据环境下实现数据持久化的方法,其特征在于,所述的方法包括以下步骤:
(1)所述的WEB应用前端处理模块进行WEB应用前端操作;
(2)所述的SDO反序列化模块进行SDO反序列化操作;
(3)所述的SDO变更摘要解析模块进行SDO变更摘要解析操作;
(4)所述的SDO持久化模块进行SDO持久化操作;
(5)所述的SDO序列化模块进行SDO反序列化。
较佳地,所述的WEB应用前端处理模块进行WEB应用前端操作,包括以下步骤:
(1-1)所述的WEB应用前端处理模块实时监听业务表单数据的变更,并存储需添加的表单的变更数据;
(1-2)所述的WEB应用前端处理模块实时监听业务表单数据的变更,并存储需修改的表单的变更数据;
(1-3)所述的WEB应用前端处理模块实时监听业务表单数据的变更,并存储需删除的表单的变更数据;
(1-4)所述的WEB应用前端处理模块解析模型数据将JSON格式的数据模型解析为JavaScript对象;
(1-5)所述的WEB应用前端处理模块校验模型数据,对JSON串作合法性校验,确保传输的数据格式满足SDO变更摘要的解析要求;
(1-6)所述的WEB应用前端处理模块将模型数据以HTTP协议方式提交请求,供后台逻辑处理。
较佳地,所述的SDO反序列化模块进行SDO反序列化操作,包括以下步骤:
(2-1)所述的SDO反序列化模块读取并解析HTTP请求;
(2-2)所述的SDO反序列化模块将HTTP请求中所含的业务表单数据,转化为普通SDO对象;
(2-3)所述的SDO反序列化模块将HTTP请求中所含的需添加的业务表单数据,转化为SDO变更摘要中的添加对象;
(2-4)所述的SDO反序列化模块将HTTP请求中所含的需修改的业务表单数据,转化为SDO变更摘要中的修改对象;
(2-5)所述的SDO反序列化模块将HTTP请求中所含的需删除的业务表单数据,转化为SDO变更摘要中的删除对象。
较佳地,所述的SDO变更摘要解析模块进行SDO变更摘要解析操作,包括以下步骤:
(3-1)所述的SDO变更摘要解析模块解析SDO变更摘要,读取并解析SDO变更摘要中添加记录部分,并将其转化为可持久化操作的添加记录语句;
(3-2)所述的SDO变更摘要解析模块解析SDO变更摘要,读取并解析SDO变更摘要中修改记录部分,并将其转化为可持久化操作的修改记录语句;
(3-3)所述的SDO变更摘要解析模块解析SDO变更摘要,读取并解析SDO变更摘要中删除记录部分,并将其转化为可持久化操作的删除记录语句。
较佳地,所述的SDO持久化模块进行SDO持久化操作,包括以下步骤:
(4-1)所述的SDO持久化模块执行持久化添加记录操作,实现添加表单数据的业务需求;
(4-2)所述的SDO持久化模块执行持久化修改记录操作,实现修改表单数据的业务需求;
(4-3)所述的SDO持久化模块执行持久化删除记录操作,实现删除表单数据的业务需求。
采用了该发明中的大数据环境下实现数据持久化的系统及方法,业务开发人员在实现业务需求时,不再需要单独开发具体表单的持久化添加、修改、删除功能;通过进一步的封装,任何的业务表单需求,经解析后都可转化为SDO的变更摘要,对变更摘要执行持久化的API调用,即完成了表单数据的添加、修改、删除操作,简化了业务开发流程,业务开发人员专注于实现业务逻辑规则,从而提高开发效率,具有更广泛的应用范围。
附图说明
图1为本发明的大数据环境下实现数据持久化的方法的流程图。
图2为本发明的实现基于SDO变更摘要的构件化软件系统的SDO2.1的接口规范图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
实现基于SDO变更摘要的构件化软件系统,其特征在于,所述的系统包括:
WEB应用前端处理模块,实现将WEB应用的业务表单转化为变更集的数据模型;
SDO反序列化模块,实现将前端传输过来的数据模型反序列化为SDO对象模型,重点在于对业务表单变更集的反序列化;
SDO实现模块,包括对SDO接口的实现,重点在于对SDO变更摘要的实现;
SDO变更摘要解析模块,实现将SDO变更摘要解析成可供持久化的操作语句;
SDO持久化模块,实现SDO数据对象的持久化操作,重点在于对SDO变更摘要的持久化实现;
SDO序列化模块,实现将SDO数据对象经解析后,转化为WEB应用前端所需的数据模型。
所述的WEB应用前端处理模块包括:
数据模型的设计模块,以JSON为例,其数据模型除了记录业务表单的全量数据之外,还会记录业务表单的变更信息,实时反映正在发生的数据变化;
数据模型的解析模块,负责将JSON格式的数据模型解析为JavaScript对象,采用JSON解析器,或者JavaScript原生提供的eval()函数,都可将其解析为JavaScript对象;
模型数据校验模块,以JSON为例,JSON串由客户端上传到服务器端处理之前,需要先对JSON串作合法性校验,确保传输的数据格式满足SDO变更摘要的解析要求;
所述的模型数据校验模块包括:
添加模型数据校验模块,对JSON串中的添加记录做合法性校验;
修改模型数据校验模块,对JSON串中的修改记录做合法性校验;
删除模型数据校验模块,对JSON串中的删除记录做合法性校验;
所述的SDO反序列化模块包括:
SDO对象的反序列化模块,将从前端传输过来的请求Request解析后,将业务表单数据解析并转换成SDO对象;
SDO变更摘要的反序列化模块,将从前端传输过来的请求Request解析后,将业务表单数据的变更解析并转换成SDO变更摘要对象;
所述的SDO实现模块包括:
SDO的实现模块,根据SDO接口规范,实现SDO规范要求,包括支持嵌套对象、支持XPath访问数据、可作为XML构件或JAVA对象存在等特性;
SDO变更摘要的实现模块,变更摘要作为SDO规范的一部分,提供了访问SDO数据图中数据对象的更改历史信息的机制,变更摘要用于跟踪数据对象的变化,变化历史包括所有自日志被激活那一刻开始起到现在的对一个数据表的所有修改;
所述的SDO变更摘要解析模块包括:
解析SDO变更摘要的添加记录模块,读取并解析SDO变更摘要中添加记录部分,并将其转化为可持久化操作的添加记录语句;
解析SDO变更摘要的修改记录模块,读取并解析SDO变更摘要中修改记录部分,并将其转化为可持久化操作的修改记录语句;
解析SDO变更摘要的删除记录模块,读取并解析SDO变更摘要中删除记录部分,并将其转化为可持久化操作的删除记录语句;
所述的SDO持久化模块包括:
SDO普通对象的持久化模块,包括对象的查询操作,持久化要求遵照数据访问服务(DataAccessService)规范,实现查询表单数据的业务需求;
SDO变更摘要的持久化添加模块,遵照数据访问服务规范,执行持久化添加记录操作,实现添加表单数据的业务需求;
SDO变更摘要的持久化修改模块,遵照数据访问服务规范,执行持久化修改记录操作,实现修改表单数据的业务需求;
SDO变更摘要的持久化删除模块,遵照数据访问服务规范,执行持久化删除记录操作,实现删除表单数据的业务需求;
技术解决方案实现方法的流程步骤说明:
该基于上述的SDO变更摘要实现构件化软件系统的方法,其主要特点是,所述的方法包括WEB应用前端操作、SDO反序列化操作、SDO变更摘要解析操作、SDO持久化操作、SDO序列化。
所述的WEB应用前端操作,包括以下步骤:
(1-1)所述的WEB应用前端操作实时监听业务表单数据的变更,并存储需添加的表单的变更数据;
(1-2)所述的WEB应用前端操作实时监听业务表单数据的变更,并存储需修改的表单的变更数据;
(1-3)所述的WEB应用前端操作实时监听业务表单数据的变更,并存储需删除的表单的变更数据;
(1-4)所述的WEB应用前端操作解析模型数据将JSON格式的数据模型解析为JavaScript对象;
(1-5)所述的WEB应用前端操作校验模型数据,对JSON串作合法性校验,确保传输的数据格式满足SDO变更摘要的解析要求;
(1-6)所述的WEB应用前端操作将模型数据以HTTP协议方式提交请求,供后台逻辑处理;
所述的SDO反序列化操作,包括以下步骤:
(2-1)所述的SDO反序列化操作读取并解析HTTP请求;
(2-2)所述的SDO反序列化操作将HTTP请求中所含的业务表单数据,转化为普通SDO对象;
(2-3)所述的SDO反序列化操作将HTTP请求中所含的需添加的业务表单数据,转化为SDO变更摘要中的添加对象;
(2-4)所述的SDO反序列化操作将HTTP请求中所含的需修改的业务表单数据,转化为SDO变更摘要中的修改对象;
(2-5)所述的SDO反序列化操作将HTTP请求中所含的需删除的业务表单数据,转化为SDO变更摘要中的删除对象;
所述的SDO变更摘要解析操作,包括以下步骤:
(3-1)所述的SDO变更摘要解析操作,负责解析SDO变更摘要,读取并解析SDO变更摘要中添加记录部分,并将其转化为可持久化操作的添加记录语句;
(3-2)所述的SDO变更摘要解析操作,负责解析SDO变更摘要,读取并解析SDO变更摘要中修改记录部分,并将其转化为可持久化操作的修改记录语句;
(3-3)所述的SDO变更摘要解析操作,负责解析SDO变更摘要,读取并解析SDO变更摘要中删除记录部分,并将其转化为可持久化操作的删除记录语句;
所述的SDO持久化操作,包括以下步骤:
(4-1)所述的SDO持久化操作,执行持久化添加记录操作,实现添加表单数据的业务需求;
(4-2)所述的SDO持久化操作,执行持久化修改记录操作,实现修改表单数据的业务需求;
(4-3)所述的SDO持久化操作,执行持久化删除记录操作,实现删除表单数据的业务需求;
在实际应用中,本发明的大数据环境下实现数据持久化的通用方法与系统的具体实施过程如下:
1、操作业务表单
通过浏览器进行WEB应用系统,打开具体业务表单并操作,如添加一条表单记录、修改一条原有表单记录、删除一条表单记录;在未提交业务表单请求的情况下,以上操作允许重复执行多次,每一次的操作,都会实时的在JSON的变更集中记录变更;关于JSON变更集的数据模型,如下所示:
格式说明:
如表1所示,关于特定KEY有changeSummary,create,modify,delete,ref
表1格式说明
2、提交业务请求
提交业务请求,首先需要先对JSON作合法性校验,确保传输的数据格式满足后台SDO变更摘要的解析要求;其次将JSON格式的数据模型解析为JavaScript对象,采用JSON解析器,或者JavaScript原生提供的eval()函数,都可将其解析为JavaScript对象;最后以HTTP协议方式提交请求。
后台接收到从前端传输过来的请求Request,通过SDO对象的反序列化模块,将业务表单数据解析并转换成SDO对象;将业务表单数据的变更解析并转换成SDO变更摘要对象;关于SDO变更摘要的转换,其核心操作包括如下(变更集的接口源自SDO2.1接口规范commonj.sdo.ChangeSummary)
具体过程如下:
(1)创建SDO实体对象时,如果该对象为根结点,为同时其创建SDO变更摘要对象(注意如果该对象非根结点,则不添加SDO变更摘要对象,即变更摘要只存在于整棵SDO树的根结点中);
(2)为SDO实体对象添加子实体时,实际是为该对象添加一条记录。子实体创建成功后,将子实体添加进SDO变更摘要中,成为变更摘要添加列表中的一条记录;
(21)获取SDO变更摘要,以当前SDO结点为起点,一级一级往根结点递归遍历,直到遍历到根结点结束,此时从根结点中获取SDO变更摘要;
(22)判断子实体是否为一般的SDO对象,如果是,则添加到SDO变更摘要,成为变更摘要中添加列表的一条记录;
(23)如果判断子实体为集合类型(即为java.util.Collection的子类)的实体,则遍历集合中的每一个对象,并添加到SDO变更摘要中的添加列表;
(3)修改SDO实体对象时,将SDO实体对象的原属性值、新属性值都记录到SDO变更摘要中(此处包括静态属性与动态属性,采取相同的操作方式),成为变更摘要修改列表中的一条记录;
(31)获取SDO变更摘要,参见(21);
(32)判断该实体是否已经存在于变更摘要中,如果是则直接获取该对象的修改变更,否则新创建一个该对象的修改变更,修改变更的存储结构如下(修改变更的接口源自SDO2.1接口规范commonj.sdo.ChangeSummary.Setting)
(33)存储修改变更到变更摘要中,并保持修改变更与所属SDO对象的对应关系;
(4)删除SDO实体对象之前,先将SDO实体对象记录到SDO变更摘要中,成为变更摘要删除列表的一条记录,然后再执行删除;
(41)获取SDO变更摘要,参见(21);
(42)将待删除的SDO实体记录到变更摘要中;
(421)首先判断待删除的SDO实体是否属于变更摘要添加列表中的一员,如果是则在添加列表中删除该实体,结束将待删除的SDO实体记录到变更摘要操作;
(422)其次判断待删除的SDO实体是否属于变更摘要修改列表中的一员,如果是则在修改列表中删除该对象;
(423)最后将该SDO实体记录到变更摘要中删除列表;
(43)在SDO对象图中删除该SDO对象;
(5)持久化SDO变更摘要操作(操作接口如下),注意此处只需传输变更摘要commonj.sdo.ChangeSummary作为参数,而无需传输整个SDO的对象图;
(51)借助于持久化层的开源框架,如Hibernate等,结合已配置使用的事务;
(52)持久化SDO变更摘要中的添加列表,执行插入数据库操作;如果添加列表中含有子孙实体,则采用持久化框架的级联操作,实现一并插入子孙实体;
(53)持久化SDO变更摘要中的修改列表,执行更新数据库操作;
(54)持久化SDO变更摘要中的添删除列表,执行删除数据库操作;如果删除列表中含有子孙实体,则采用持久化框架的级联操作,实现一并删除子孙实体;
(55)持久化完成,返回是否操作成功的标记。
采用了该发明中的大数据环境下实现数据持久化的系统及方法,业务开发人员在实现业务需求时,不再需要单独开发具体表单的持久化添加、修改、删除功能;通过进一步的封装,任何的业务表单需求,经解析后都可转化为SDO的变更摘要,对变更摘要执行持久化的API调用,即完成了表单数据的添加、修改、删除操作,简化了业务开发流程,业务开发人员专注于实现业务逻辑规则,从而提高开发效率,具有更广泛的应用范围。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (12)
1.一种大数据环境下实现数据持久化的系统,其特征在于,所述的系统包括:
WEB应用前端处理模块,用以将WEB应用的业务表单转化为变更集的数据模型;
SDO反序列化模块,用以将前端传输过来的数据模型反序列化为SDO对象模型,其中对所述的业务表单变更集进行反序列化;
SDO实现模块,用以对SDO接口的实现,其中包括对SDO变更摘要的实现;
SDO变更摘要解析模块,用以将SDO变更摘要解析成可供持久化的操作语句;
SDO持久化模块,用以SDO数据对象的持久化操作,其中包括对SDO变更摘要的持久化实现;
SDO序列化模块,用以将SDO数据对象经解析后,转化为WEB应用前端所需的数据模型。
2.根据权利要求1所述的大数据环境下实现数据持久化的系统,其特征在于,所述的WEB应用前端处理模块包括:
数据模型的设计子模块,用以利用数据模型记录业务表单的全量数据和业务表单的变更信息;
数据模型的解析模块,用以将数据模型解析为JavaScript对象;
模型数据校验模块,用以对数据串作进行合法性校验,确保传输的数据格式满足SDO变更摘要的解析要求。
3.根据权利要求2所述的大数据环境下实现数据持久化的系统,其特征在于,所述的模型数据校验子模块包括:
添加模型数据校验单元,用以对数据串中的添加记录做合法性校验;
修改模型数据校验单元,用以对数据串中的修改记录做合法性校验;
删除模型数据校验单元,用以对数据串中的删除记录做合法性校验。
4.根据权利要求1所述的大数据环境下实现数据持久化的系统,其特征在于,所述的SDO反序列化模块包括:
SDO对象的反序列化子模块,用以将从前端传输过来的请求Request解析后,将业务表单数据解析并转换成SDO对象;
SDO变更摘要的反序列化子模块,用于将从前端传输过来的请求Request解析后,将业务表单数据的变更解析并转换成SDO变更摘要对象。
5.根据权利要求1所述的大数据环境下实现数据持久化的系统,其特征在于,所述的SDO实现模块包括:
SDO的实现子模块,用以根据SDO接口规范实现SDO规范要求;
SDO变更摘要的实现子模块,用以变更摘要作为SDO规范的一部分并提供访问SDO数据图中数据对象的更改历史信息的机制。
6.根据权利要求1所述的大数据环境下实现数据持久化的系统,其特征在于,所述的SDO变更摘要解析模块包括:
解析SDO变更摘要的添加记录子模块,用以读取并解析SDO变更摘要中添加记录部分,并将其转化为可持久化操作的添加记录语句;
解析SDO变更摘要的修改记录子模块,用以读取并解析SDO变更摘要中修改记录部分,并将其转化为可持久化操作的修改记录语句;
解析SDO变更摘要的删除记录子模块,用以读取并解析SDO变更摘要中删除记录部分,并将其转化为可持久化操作的删除记录语句。
7.根据权利要求1所述的大数据环境下实现数据持久化的系统,其特征在于,所述的SDO持久化模块包括:
SDO普通对象的持久化模块,包括对象的查询操作,持久化要求遵照数据访问服务(DataAccessService)规范,实现查询表单数据的业务需求;
SDO变更摘要的持久化添加模块,遵照数据访问服务规范,执行持久化添加记录操作,实现添加表单数据的业务需求;
SDO变更摘要的持久化修改模块,遵照数据访问服务规范,执行持久化修改记录操作,实现修改表单数据的业务需求;
SDO变更摘要的持久化删除模块,遵照数据访问服务规范,执行持久化删除记录操作,实现删除表单数据的业务需求。
8.一种基于权利要求1至7中任一项所述的系统于大数据环境下实现数据持久化的方法,其特征在于,所述的方法包括以下步骤:
(1)所述的WEB应用前端处理模块进行WEB应用前端操作;
(2)所述的SDO反序列化模块进行SDO反序列化操作;
(3)所述的SDO变更摘要解析模块进行SDO变更摘要解析操作;
(4)所述的SDO持久化模块进行SDO持久化操作;
(5)所述的SDO序列化模块进行SDO反序列化。
9.根据权利要求8所述的大数据环境下实现数据持久化的方法,其特征在于,所述的WEB应用前端处理模块进行WEB应用前端操作,包括以下步骤:
(1-1)所述的WEB应用前端处理模块实时监听业务表单数据的变更,并存储需添加的表单的变更数据;
(1-2)所述的WEB应用前端处理模块实时监听业务表单数据的变更,并存储需修改的表单的变更数据;
(1-3)所述的WEB应用前端处理模块实时监听业务表单数据的变更,并存储需删除的表单的变更数据;
(1-4)所述的WEB应用前端处理模块解析模型数据将JSON格式的数据模型解析为JavaScript对象;
(1-5)所述的WEB应用前端处理模块校验模型数据,对JSON串作合法性校验,确保传输的数据格式满足SDO变更摘要的解析要求;
(1-6)所述的WEB应用前端处理模块将模型数据以HTTP协议方式提交请求,供后台逻辑处理。
10.根据权利要求8所述的大数据环境下实现数据持久化的方法,其特征在于,所述的SDO反序列化模块进行SDO反序列化操作,包括以下步骤:
(2-1)所述的SDO反序列化模块读取并解析HTTP请求;
(2-2)所述的SDO反序列化模块将HTTP请求中所含的业务表单数据,转化为普通SDO对象;
(2-3)所述的SDO反序列化模块将HTTP请求中所含的需添加的业务表单数据,转化为SDO变更摘要中的添加对象;
(2-4)所述的SDO反序列化模块将HTTP请求中所含的需修改的业务表单数据,转化为SDO变更摘要中的修改对象;
(2-5)所述的SDO反序列化模块将HTTP请求中所含的需删除的业务表单数据,转化为SDO变更摘要中的删除对象。
11.根据权利要求8所述的大数据环境下实现数据持久化的方法,其特征在于,所述的SDO变更摘要解析模块进行SDO变更摘要解析操作,包括以下步骤:
(3-1)所述的SDO变更摘要解析模块解析SDO变更摘要,读取并解析SDO变更摘要中添加记录部分,并将其转化为可持久化操作的添加记录语句;
(3-2)所述的SDO变更摘要解析模块解析SDO变更摘要,读取并解析SDO变更摘要中修改记录部分,并将其转化为可持久化操作的修改记录语句;
(3-3)所述的SDO变更摘要解析模块解析SDO变更摘要,读取并解析SDO变更摘要中删除记录部分,并将其转化为可持久化操作的删除记录语句。
12.根据权利要求8所述的大数据环境下实现数据持久化的方法,其特征在于,所述的SDO持久化模块进行SDO持久化操作,包括以下步骤:
(4-1)所述的SDO持久化模块执行持久化添加记录操作,实现添加表单数据的业务需求;
(4-2)所述的SDO持久化模块执行持久化修改记录操作,实现修改表单数据的业务需求;
(4-3)所述的SDO持久化模块执行持久化删除记录操作,实现删除表单数据的业务需求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510894748.5A CN105528424B (zh) | 2015-12-07 | 2015-12-07 | 大数据环境下实现数据持久化的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510894748.5A CN105528424B (zh) | 2015-12-07 | 2015-12-07 | 大数据环境下实现数据持久化的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105528424A true CN105528424A (zh) | 2016-04-27 |
CN105528424B CN105528424B (zh) | 2019-03-05 |
Family
ID=55770647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510894748.5A Active CN105528424B (zh) | 2015-12-07 | 2015-12-07 | 大数据环境下实现数据持久化的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105528424B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107347048A (zh) * | 2016-05-04 | 2017-11-14 | 北京京东尚科信息技术有限公司 | 数据校验的方法、装置及系统 |
CN110399125A (zh) * | 2019-07-25 | 2019-11-01 | 南京数睿数据科技有限公司 | 一种基于Java技术的多维度多条件的动态查询方法 |
CN111552487A (zh) * | 2019-02-11 | 2020-08-18 | 福建省天奕网络科技有限公司 | H5跨引擎客户端本地数据代理方法、存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339559A (zh) * | 2008-07-18 | 2009-01-07 | 北京航空航天大学 | 一种数据持久化实现方法 |
US20090282042A1 (en) * | 2008-05-12 | 2009-11-12 | Expressor Software | Method and system for managing the development of data integration projects to facilitate project development and analysis thereof |
CN103049251A (zh) * | 2011-10-17 | 2013-04-17 | 中国移动通信集团公司 | 一种数据库持久层装置及数据库操作方法 |
-
2015
- 2015-12-07 CN CN201510894748.5A patent/CN105528424B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090282042A1 (en) * | 2008-05-12 | 2009-11-12 | Expressor Software | Method and system for managing the development of data integration projects to facilitate project development and analysis thereof |
CN101339559A (zh) * | 2008-07-18 | 2009-01-07 | 北京航空航天大学 | 一种数据持久化实现方法 |
CN103049251A (zh) * | 2011-10-17 | 2013-04-17 | 中国移动通信集团公司 | 一种数据库持久层装置及数据库操作方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107347048A (zh) * | 2016-05-04 | 2017-11-14 | 北京京东尚科信息技术有限公司 | 数据校验的方法、装置及系统 |
CN111552487A (zh) * | 2019-02-11 | 2020-08-18 | 福建省天奕网络科技有限公司 | H5跨引擎客户端本地数据代理方法、存储介质 |
CN111552487B (zh) * | 2019-02-11 | 2022-07-05 | 福建省天奕网络科技有限公司 | H5跨引擎客户端本地数据代理方法、存储介质 |
CN110399125A (zh) * | 2019-07-25 | 2019-11-01 | 南京数睿数据科技有限公司 | 一种基于Java技术的多维度多条件的动态查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105528424B (zh) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sevilla Ruiz et al. | Inferring versioned schemas from NoSQL databases and its applications | |
TWI490716B (zh) | 多租戶應用程序的開發方法、資料存取方法與系統 | |
CN103164249B (zh) | 用于脚本语言编译器的扩展机制 | |
US7921137B2 (en) | Methods and systems for providing semantic primitives | |
JP4406609B2 (ja) | 単一のインターフェイスからのデータの多重階層を管理するための手法 | |
US8387030B2 (en) | Service adaptation definition language | |
US7461335B2 (en) | Dynamic conversion of data into markup language format | |
US20070299854A1 (en) | Symmetric transformation processing system | |
US20090254881A1 (en) | Code generation techniques for administrative tasks | |
CN109614413B (zh) | 一种内存流式计算平台系统 | |
US20050015439A1 (en) | Flexible architecture component (FAC) for efficient data integration and information interchange using web services | |
JP2007519078A (ja) | オブジェクトとしてカプセル化されたxmlデータをデータベースストアに格納し検索するシステムおよび方法 | |
US9298770B2 (en) | Generating remotely accessible repositories from language meta-models | |
JP2014002757A (ja) | バイナリにエンコードされたxmlデータの効率的な区分的アップデート | |
US9535966B1 (en) | Techniques for aggregating data from multiple sources | |
CN107766526B (zh) | 数据库访问方法、装置及系统 | |
CN102566984B (zh) | 一种配置参数的方法及装置 | |
CN103425726A (zh) | 使用业务智能工具访问开放数据 | |
US8688752B2 (en) | Method and system for deploying a model-based application to an application server | |
CN108038213A (zh) | 一种数据处理的方法、客户端、服务器及系统 | |
CN105528424A (zh) | 大数据环境下实现数据持久化的系统及方法 | |
US20040122795A1 (en) | Method, system, and program for optimizing processing of nested functions | |
US9129035B2 (en) | Systems, methods, and apparatus for accessing object representations of data sets | |
CN104166705A (zh) | 数据库的访问方法及装置 | |
CN115934673A (zh) | 用于促进元数据标识和导入的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |