基于json数组的页面布局存储方法

文档序号:6519747阅读:379来源:国知局
基于json数组的页面布局存储方法
【专利摘要】本发明公开了一种基于JSON数组的页面布局存储方法,属于数据存储领域。该存储方法的特点是使用二维JSON数组表示门户页面布局;前台使用JavaScript组装出最终的JSON数组格式字符串,并通过Ajax方式异步提交到后台关系数据库中;后台使用JSONArray解析JSON数组格式的门户页面布局字符串,得到相应的Java对象。与现有技术相比,利用本发明的基于JSON数组的页面布局存储方法既能节省数据库的存储空间,又能提高门户的访问速度,具有很好地推广应用价值。
【专利说明】基于JSON数组的页面布局存储方法
【技术领域】
[0001]本发明涉及数据存储领域,具体地说是一种基于JSON数组的页面布局存储方法。【背景技术】
[0002]无论是企业还是政府部门在做信息化建设时,缺乏统一规划、统一 IT架构和技术架构、标准化,再加上采用分阶段逐步建设的过程,导致建设的应用系统彼此孤立,标准不一,资源难以共享,不能互联互通,资源重复建设等问题。这种“烟?”式的管理模式使建设的多应用系统不能够有机的整合,形成“信息孤岛”,造成流程、信息的交换隔阂。
[0003]门户作为一个整合资源的应用框架,在企业信息化建设中日益受到重视。它将各种应用系统、数据资源和互联网资源集成到一个信息管理平台之上,并以统一的用户界面提供给用户,使企业可以快速地建立企业对客户、企业对内部员工和企业对企业的信息通道,使企业能够释放存储在企业内部和外部的各种信息。
[0004]随着Web 2.0技术的深入普及,以前基于Portlet规范的“重量级”门户日益显得力不从心,基于Widget规范的“轻量级”门户观念深入人心,带来了一种全新的用户体验。无论门户实现技术怎么变,门户页面的列式布局,作为一种简洁清新、操作方便、高效实用的布局方式,仍是一种广泛采用的主流布局方式。
[0005]传统列式布局的存储方式,会分别使用“页面表”、“列表”、“Widget表”来表示门户页面布局,使用“用户页面布局表”表示一个用户与门户页面间的关联关系,一个用户、页面、列、Widget 一条记录。假设一个企业有I万员工,每个门户页面有3列,每列里有4个Widget,后台采用关系数据库存储,则“用户页面布局表”将会有:1万*3*4=12万条记录,如果一个用户有3个门户页面,将会是36万条记录。

【发明内容】

[0006]本发明的技术任务是针对上述现有技术的不足,提供一种基于JSON数组的页面布局存储方法,利用该方法既能节省数据库的存储空间,又能提高门户的访问速度。
[0007]本发明的技术任务是按以下方式实现的:基于JSON数组的页面布局存储方法,其特点是使用二维JSON数组表示门户页面布局;前台使用JavaScript组装出最终的JSON数组格式字符串,并通过Ajax方式异步提交到后台关系数据库中;后台使用JSONArray解析JSON数组格式的门户页面布局字符串,得到相应的Java对象。
[0008]二维JSON数组中,优选的,以第一维代表整个门户页面,第二维代表列,数组中每一个元素代表一个Widget的ID。
[0009]前台使用JavaScript组装出最终的JSON数组格式字符串时,使用ColPortal代表门户页面,ColPortalColumn代表页面列,ColPortalWidget代表每列里的Widget,所述ColPortal以及ColPortalColumn中包含toJsonArray方法,当保存页面布局时,调用ColPortal的toJsonArray组装第一维数组,ColPortal的toJsonArray方法依次调用ColPortalColumn的toJsonArray方法组装第二维数组,从而组装出最终的门户页面布局JSON数组。
[0010]当请求门户布局页面时,根据用户及权限规则,从关系数据库中取出JSON数组格式的字符串,通过JSONArray转换成可操作的Java对象。
[0011]本发明的基于JSON数组的页面布局存储方法与现有技术相比具有以下突出的有益效果:
(一)通过使用JSON数组格式存储门户页面布局,可以形象的反映出门户页面的布局方式,便于直观的识别出页面上的列数以及每列包含的Widget ;
(二)通过使用JSON数组格式存储门户页面布局,保存门户页面布局时,极大的减少了关系数据库的存储记录条数,一定程度上压缩了存储空间; (三)通过使用JSON数组格式存储门户页面布局,访问门户页面布局时,避免了数据库多个表间进行Join操作,有效的提升了访问速度。
【专利附图】

【附图说明】
[0012]附图1是基于JSON数组的页面布局存储方法的结构框图。
【具体实施方式】
[0013]参照说明书附图以具体实施例对本发明的基于JSON数组的页面布局存储方法作以下详细地说明。
[0014]实施例:
本发明的基于JSON数组的页面布局存储方法,主要涉及以下方面:
1、存储格式
采用二维数组作为最终存储格式,第一维代表整个门户页面,第二维代表列,数组中每一个元素代表一个Widget的ID。
[0015]假如一个列式布局页面中有3列,每列中有3个Widget,则存储格式如下所示:
[
["wIDOO", "wIDOl", "wID02"],
["wIDIO","wIDll", "wID12"],
["wID20", "wID21", "wID22"]
]o
[0016]2、存储格式的前台组织
利用JavaScript的面向对象特性,使用ColPortal代表门户页面,ColPortalColumn代表页面列,ColPortalWidget 代表每列里的 Widget。ColPortal 以及 ColPortalColumn 中包含toJsonArray方法,当保存页面布局时,调用ColPortal的toJsonArray组装第一维数组,ColPortal 的 toJsonArray 方法依次调用 ColPortalColumn 的 toJsonArray 方法组装第二维数组,从而组装出最终的门户页面布局JSON数组,通过Ajax方式异步提交到后台,保存到关系数据库中。
[0017]3、存储格式的后台解析
利用Java的面向对象特性,使用JSONArray代表最终的二维数组,当请求门户布局页面时,根据用户及权限规则,从关系数据库中取出JSON数组格式的字符串,通过JSONArray转换成可操作的Java对象,无需进行数据表间的Join操作,即可快速解析出门户布局页面包含的列数,以及每列包含的Widget。
【权利要求】
1.基于JSON数组的页面布局存储方法,其特征在于: 使用二维JSON数组表示门户页面布局; 前台使用JavaScript组装出最终的JSON数组格式字符串,并通过Ajax方式异步提交到后台关系数据库中; 后台使用JSONArray解析JSON数组格式的门户页面布局字符串,得到相应的Java对象。
2.根据权利要求1所述的基于JSON数组的页面布局存储方法,其特征在于:二维JSON数组中,第一维代表整个门户页面,第二维代表列,数组中每一个元素代表一个Widget的ID0
3.根据权利要求1所述的基于JSON数组的页面布局存储方法,其特征在于:前台使用JavaScript组装出最终的JSON数组格式字符串时,使用ColPortal代表门户页面,CoIPortalCoIumn 代表页面列,ColPortalffidget 代表每列里的 Widget,所述 ColPortal以及ColPortalColumn中包含toJsonArray方法,当保存页面布局时,调用ColPortal的toJsonArray 组装第一维数组,ColPortal 的 toJsonArray 方法依次调用 ColPortalColumn的toJsonArray方法组装第二维数组,从而组装出最终的门户页面布局JSON数组。
4.根据权利要求1所述的基于JSON数组的页面布局存储方法,其特征在于:当请求门户布局页面时,根据用户及权限规则,从关系数据库中取出JSON数组格式的字符串,通过JSONArray转换成可操作的Java对象。
【文档编号】G06F17/30GK103605733SQ201310582808
【公开日】2014年2月26日 申请日期:2013年11月20日 优先权日:2013年11月20日
【发明者】刘桂海, 胡清 申请人:山东浪潮齐鲁软件产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1