基于B/S模型的IETM显示数据生成及离线控制方法与流程

文档序号:15079509发布日期:2018-08-03 12:15阅读:318来源:国知局

本发明涉及交互式电子手册技术,具体涉及一种基于浏览器/服务器(B/S)模型的交互式电子手册显示数据模块生成及离线访问控制方法。



背景技术:

交互式电子手册,简称IETM(interactive electronic technical manual),是近年来为解决产品基层级维修孕育而生的一种电子交付物,它利用计算机多媒体、数据库和网络等技术,将内容繁杂的操作手册、维修手册等信息有机组织管理起来,并以最优化的方式将文字、表格、图像、工程图形、声音、视频、动画等多种信息形式显示在电子屏幕上。

IETM的主要标准有美军的于2000年5月发布的MIL-HDBK-511标准,欧洲的S1000D标准,国内标准为2009年10月发布的GB/T 24463IETM系列。其中欧洲的S1000D标准因具有广泛的支持和完善的维护体制,被世界上各大组织所推崇,我国的IETM标准也是参照该标准定制的。根据国内的GB/T24463.1-2009标准,推荐的IETM互操作性结构体系有四种,分别为C1类型:基本HTML/XML页面;C2类型:简单可下载组件;S1类型:HTML+应用程序服务器;S2类型:HTML+数据库服务器。

目前大多数军方使用的IETM的平台采用专用客户端,即客户端/服务器(C/S)模型。该模型安全性较高,同时可以实现离线访问,在线更新的功能,但是安装成本和使用成本较高。对于民用设备,为了降低使用成本和开发成本,可采用浏览器/服务器(B/S)模型。同时采用通用浏览器可大大降低用户的学习成本。在B/S模型下,数据显示方式目前分为两种模式:

一种是通用的XML数据格式,通过添加XSL文件,可以将数据转化为HTML格式,然后在浏览器上显示。这种形式可以通过数据库导出的信息处理后生成统一的XML格式数据再加上事先定制XSL文件。这种做法可以事先定制XML格式和XSL格式,将信息分为通用结构信息、图解零部件信息、描述性信息、程序性信息、故障信息、维修计划信息、接线信息、人员信息等等,则只需要在录入的时候定制录入模板,就可获得一定格式的XML格式,再配上相应信息种类的的XSL格式,因XML格式可由数据库内的信息控制,只需编写特定种类的XSL文档即可,极大地减少显示格式数据的编写。但是这种方式生成的HTML不能使用HTML5的新技术——离线应用技术,不能进行数据离线的本地缓存,在无Internet时不可使用。

另一种是在数据库中存储每个信息内容然,由后台服务器取出后为每个页面编写相应的HTML文件,这种个形式交互性较好。然后可为整个应用定制离线缓存原则,实现离线访问(目前没有发现有人实现)。但是这种实现需要为每个每个信息页面编写HTML文件和manifest文件,工作量巨大。



技术实现要素:

发明目的:为了克服现有技术中存在的采用XML的数据格式来交换数据,在B/S模型的架构下无法实现离线访问,而以HTML的数据格式来交换显示数据,会导致需要为每个页面编写HTML格式,增加系统编写的成本的不足,提供一种基于B/S模型的IETM显示数据生成及离线访问控制方法。

技术方案:为实现上述目的,本发明提供一种基于B/S模型的IETM显示数据生成及离线访问控制方法,包括如下步骤:

1)管理员根据信息类型通过带校验规则的表单录入数据;

2)数据发送到后台服务器经过处理插入数据库;

3)在用户需要信息时通过查询获取到数据信息,根据信息类型确定需要离线下载的本地缓存资源;

4)动态生成manifest文件控制离线的本地缓存;

5)将获取到的信息转化成JSON格式直接填入到预先定制好的ejs模板中生成HTML5文件;

6)将HTML5文件和manifest文件一同发送给请求的客户端。

进一步地,所述步骤2)中数据库的信息种类和界面的种类需要提前设计,然后编写界面的模板,按照不同的信息类型编写不同的ejs模板,将获取的信息填入不同的模板,形成访问连接,所述数据库的信息种类按照类型分别分为:通用结构信息、图解零部件信息、描述性信息、程序性信息、故障信息、维修计划信息、接线信息、人员信息等。

进一步地,所述系统中的HTML5界面可以进行离线缓存,当用户在第一次访问时,后台服务器会根据获取的信息确定要离线本地缓存的资源,动态生成manifest文件,当用户第二次访问的时候manifest文件会控制用户浏览器的的行为,使得在无Internet的情况下访问系统的时候会使用浏览器内部离线的数据,同时后台服务器系统可以根据更新标志来控制是否需要重新生成manifest文件,当新生成的manifest文件和浏览器端的旧manifest文件有变化时,浏览器就会重新进行本地缓存。

进一步地,根据用户请求信息的种类将信息从数据库中取出填入不同的信息模板中,并在此过程中根据取得的信息确定其在客户端需要离线本地缓存的资源,然后动态生成控制离线缓存的manifest文件。

进一步地,所述各类数据信息在数据库中以XML的形式导出,加以处理之后变为通用的XML的数据格式,确保可以和其他IETM系统交换数据。

本发明中系统主要包括的模块有数据录入界面(网页表单)、后台服务器、数据库服务器、数据显示模块(浏览器)。

数据录入界面需要编写校验规则和确定数据类型,将数据类型分为通用结构信息、图解零部件信息、描述性信息、程序性信息、故障信息、维修计划信息、接线信息、人员信息等,这样限制录入数据的格式。

输入完成后提交到后台应用服务器,应用服务器将数据处理按照数据类型分别将信息加入对应的数据库的数据表中。

数据库服务器在接收到数据后将数据存入各自对应的数据表中,同时数据库提供了将数据导出为XML数据的功能,直接从表中导出的XML数据经过后台服务器系统处理之后可以作为标准的中性数据格式,和其他IETM系统交换数据,但是在本系统中不会使用改方法。

当用户A第一次请求数据a时,后台应用服务器根据请求的数据类型,将数据从数据库服务器中取出,因为已经知道了数据的类型,则知道需要离线本地缓存的资源有哪些(例如是图解零部件信息,则需要在本地缓存零部件的工程图、三维模型资源等)。将这些需要本地缓存的资源写入控制离线本地缓存的manifest文件中。再将数据信息转化为JSON格式,填入相应的ejs模板文件中生成HTML5文件。再将HTML5文件发送给请求的用户,用户浏览器在接受到HTML5文件之后发现有manifest链接,再向服务器请求manifest文件,得到manifest之后根据其中的命令下载离线本地缓存的文件。

当用户B请求数据a时,后台服务器还是先检查有没有manifest文件,发现有manifest文件之后再检查更新标识(更新标识由管理员用户设定),若不需更新,则直接返回HTML5文件。若需要更新,则以“w+”的方式打开本HTML5文件对应的manifest文件(“w+”表示若有此文件,覆盖之后重新写入,若没有此文件,则创建改文件),重新写入需要离线本地缓存的资源,再将HTML5文件发送给用户,这样控制离线本地缓存的文件就更新过了。

若此时用户A再次访问数据a是,浏览器先读取本地缓存的资源显示,再获取服务器上的manifest文件,发现manifest文件更新过,则用户A的浏览器重新下载本页面需要离线本地缓存的资源,这样就实现的离线应用的更新。

同时这种实现方法是用户每访问一个页面就离线本地缓存一个页面,不会影响用户的使用,也减少了不必要资源的离线下载。

有益效果:本发明与现有技术相比,通过采用约定的数据录入格式和数据存储格式,可以可控制数据从数据库表中导出的格式,使它在和其他系统保持标准的兼容性的同时,也能在系统内部直接填入ejs模板,通过信息录入的约定规则,使得信息能够填入预先定制的ejs模板,而不用为每个信息单独编写HTML5文件,大大减少了显示数据的编写时间,同时在为每个文件填入详细的信息的时候会获取到每个信息的具体内容,这样确定每个文件需要离线缓存的内容,使得整个页面会被离线保存到浏览器离线数据中,用户在下次访问的时候既能减少流量消耗,同时在无网络连接的时候也可访问信息,实现了离线访问,解决B/S模型在无网络连接的情况下不能使用的缺陷。

附图说明

图1是整体系统的示意图;

图2是后台服务器接收到浏览器请求后对manifest文件处理流程图;

图3是录入界面的示意图;

图4为通用的数据模块结构图。

具体实施方式

如图1所示,本发明提供一种基于B/S模型的IETM显示数据生成及离线访问控制方法,包括如下步骤:

1)管理员根据信息类型通过带校验规则的表单录入数据;

2)数据发送到后台服务器经过处理插入数据库:数据库的信息种类和界面的种类需要提前设计,然后编写界面的模板,按照不同的信息类型编写不同的HTML5模板,将获取的信息填入不同的模板,形成访问连接,所述数据库的信息种类按照类型分别分为:通用结构信息、图解零部件信息、描述性信息、程序性信息、故障信息、维修计划信息、接线信息、人员信息等;

3)在用户需要信息时通过查询获取到数据信息,根据信息类型确定需要离线下载的本地缓存资源;

4)动态生成manifest文件控制离线的本地缓存:系统中的HTML界面可以进行离线缓存,当用户在第一次访问时,后台服务器会根据获取的信息确定要离线本地缓存的资源,动态生成manifest文件,当用户第二次访问的时候manifest文件会控制用户浏览器的的行为,使得在无Internet的情况下访问系统的时候会使用浏览器内部离线的数据,同时后台服务器系统可以根据更新标志来控制是否需要重新生成manifest文件,当新生成的manifest文件和浏览器端的旧manifest文件有变化时,浏览器就会重新进行本地缓存;

5)将获取到的信息转化成JSON格式直接填入到预先定制好的ejs模板中生成HTML5文件;

6)将HTML5文件和manifest文件一同发送给请求的客户端。

当用户A第一次请求数据a时,后台应用服务器根据请求的数据类型,将数据从数据库服务器中取出,因为已经知道了数据的类型,则知道需要离线本地缓存的资源有哪些(例如是图解零部件信息,则需要在本地缓存零部件的工程图、三维模型资源等)。将这些需要本地缓存的资源写入控制离线本地缓存的manifest文件中。再将数据信息转化为JSON格式,填入相应的ejs模板文件中生成HTML5文件。再将HTML5文件发送给请求的用户,用户浏览器在接受到HTML5文件之后发现有manifest链接,再向服务器请求manifest文件,得到manifest之后根据其中的命令下载离线本地缓存的文件。

当用户B请求数据a时,后台服务器还是先检查有没有manifest文件,发现有manifest文件之后再检查更新标识(更新标识由管理员用户设定),若不需更新,则直接返回HTML5文件。若需要更新,则以“w+”的方式打开本HTML5文件对应的manifest文件(“w+”表示若有此文件,覆盖之后重新写入,若没有此文件,则创建改文件),重新写入需要离线本地缓存的资源,再将HTML5文件发送给用户,这样控制离线本地缓存的文件就更新过了。

若此时用户A再次访问数据a是,浏览器先读取本地缓存的资源显示,再获取服务器上的manifest文件,发现manifest文件更新过,则用户A的浏览器重新下载本页面需要离线本地缓存的资源,这样就实现的离线应用的更新。

下面结合附图具体说明怎么在显示数据的生成方面减少HTML模板的编写和实现离线缓存。

本次实施例使用的数据库为mysql,后台服务器是使用nodejs的express框架搭建的。

如图4所示,首先编写零件类信息通用的信息结构,根据GB/T 24463IETM推荐,通用的数据模块结构,根据图4,编写零件信息录入界面如下图3所示,通过图3对信息输入的校验,使得输入的信息都是符合规则的,信息进入后台服务器,后台服务器将数据处理之后填入数据库,后台处理程序包括将图片存入相应文件夹,并将图片的路径存入数据库。

当用户通过页面点击获取相应的零件信息时,后台服务器根据HTTP的路径来判断获取信息的类别,以下根据零件类的信息的路径为/parts/part_name为例,当后台获取到路径时,会根据如图2示意的过程处理控制离线下载的manifest文件,其具体的流程如下:

(1)根据part_name后台服务器进行数据库查询,并将查询的结果转成JSON数据格式;

(2)判断是否有离线缓存的控制manifest文件,若没有,则生成manifest文件,在系统的指定文件夹中以“w+”的标志打开文件,“w+”标识表示若没有文件则创建文件,若有则覆盖原文件;

(3)打开manifest文件之后,需要因为每个HTML5文件需要离线下载的图片、视频并不是确定的,需要知道从数据库返回的的资源中哪些是图片、视频文件,因为提前控制了录入数据的格式,所以可以根据不同的信息类型知道要包含进manifest文件中的资源,就可以根据这些信息动态的为每个manifest文件写入要离线下载的资源。

(4)要若是manifest文件已经存在,则根据系统的标志判断是否需要更新来对manifest文件进行更新,最后得到需要的目标manifest文件,通过manifest文件就可以对浏览器内的离线资源进行控制,即使删除了浏览器缓存也不会对离线文件造成影响。

当离线下载控制文件生成好了之后,就是对HTML模板的生成了,本方法采用ejs模板的语法为每个文件编写模板,在后台服务器渲染ejs的零件模板时将JSON格式的数据填入其中。下面的代码为生成零件的HTML格式数据的ejs模板:

本发明的实质是预先将信息进行分类,并确定每一类信息将要包含的具体内容,然后控制每一类信息输入格式,使得在生成显示数据的时候可以确定需要离线下载的图片等多媒体资源,然后动态的生成manifest文件用以控制需要离线本地缓存的文件。在manifest文件生成之后再将信息填入事先编写好的ejs模板文件中,后台服务器编译ejs模板文件生成HTML5文件之后将其发送给浏览器,使得用户在第一次访问之后就可以实现离线访问数据了,同时因为HTML5文件是由事先编写的ejs模板生成的,可以大大减少发布数据的编写。总体来说,本发明在用模板生成HTML5的发布数据同时动态为每个HTML5文件生成manifest文件,提高的发布数据生成的效率,提升了用户使用体验,实现了B/S模型下的离线访问。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1