一种基于数据库的多屏幕数据切换显示方法
技术领域
本发明属于多屏幕数据切换技术领域。
背景技术
多屏幕数据切换系统,就是将相同或不同显示内容在多位置区域显示,本发明用于新能源汽车示范运行远程监控系统中,方便使用者对全国各地装有监控终端的新能源汽车运行情况进行查看。
市场上已实现的多显示屏数据内容切换有通过切换器硬件实现的,通过硬件的按钮来控制切换视频信号,这样切换的内容不灵活,并且会有短暂的黑屏。
还有通过多张显卡的扩展桌面实现,但这样在页面系统的关联关系设计相关复杂,屏幕分辩率也不法灵活控制。
发明内容
鉴于此,本发明的主要目的在于提供一种基于数据库的多屏幕数据切换显示。
本发明与传统多屏数据切换系统的区别在于:第一、各屏幕的显示内容具有交互功能,根据某一屏幕的操作,可自动切换其他多个屏幕的显示内容;第二、完全通过软件来实现,可避免多屏幕切换器按钮控制不灵活以及可能出现短暂黑屏的情况;第三、与通过多张显卡的扩展桌面实现方式相比,页面系统的关联关系设计更为简洁,屏幕分辩率可单独灵活控制。第四、此发明硬件部署简单,只需将各大屏幕连接至计算机,计算机接入互联网即可,方便实用且易于扩展其他功能,应用范围广。
为了达到上述目的,本发明的技术方案是这样实现的:
本发明的总体设计是用计算机硬件连接各显示屏,并将计算机连接因特网,再通过数据库系统来实现的。通过设计数据库表格保存相关信息,主显示屏操作保存数据,切换数据的显示屏再根据保存的相关信息进行内容的自动切换。主动屏幕和联动屏幕的网页在数据库中共同注册兴趣点信息,并通过数据库服务器中转消息。联动屏幕页面以固定时间间隔查询数据库服务器。当用户在主动屏幕页面点击兴趣点时,网页服务器会通过网络将兴趣点信息存入数据库服务器;联动屏幕网页服务器通过网络查询数据库服务器会检测到兴趣点的改变,并通过网页重定向技术自动将联动屏幕切换到兴趣点相关页面,从而完成联动切换过程。
数据库系统包括数据库服务器和网页服务器,网页服务器具有公网的网络地址,用于对外提供页面服务,数据库服务器保存有数据库表;每个终端计算机各自连接三个大屏幕,显示屏幕切换的内容。三个大屏幕的内容显示存在关联关系,关联关系如下:
(1) 三个终端大屏幕分别显示系统监控的三个关键页面:全国地图、城市地图和单车实时监控页;
(2)全国地图上有城市标签显示,当在全国地图屏幕上点击某个城市标签时,城市地图屏幕自动切换到对应城市;
(3)城市地图上有车辆标签显示,当在城市地图屏幕上点击某个车辆标签时,单车实时监控屏幕自动切换所点击车辆的监控页面;
本发明的多屏幕数据切换显示方法的实现过程如下:
第一步:主动屏幕和联动屏幕的网页在数据库中共同注册兴趣点信息,并通过数据库服务器中转消息;
兴趣点信息即当前城市和当前车辆;数据库中存在城市和车辆的数据表记录,表字段包括记录唯一标识,记录名称,选中标记;数据库中还保存车辆所在城市的关联表记录,表字段包括记录唯一标识,车辆唯一标识和所在城市唯一标识;
对于主动屏幕选中的当前城市,城市数据表中对应记录的选中标记会置1,从而完成注册城市兴趣点;对于主动屏幕选中的当前车辆,车辆数据表中对应记录的选中标记会置1,从而完成注册车辆兴趣点;
第二步:联动屏幕页面以固定时间间隔查询数据库服务器;
联动屏幕页面在页面加载时设置定时器,定时器中调度查询任务;查询任务每隔5秒查询联动屏幕当前兴趣点数据表中选中标记置1的记录,如车辆数据表或城市数据表。查询通过数据库结构化标准查询语言实现;查询结果通过超文本传输协议返回;
第三步:当用户在主动屏幕页面点击兴趣点时,网页服务器通过网络将兴趣点信息存入数据库服务器;
用户在主动屏幕点击时,会触发网页脚本点击事件,网页脚本会对此事件响应;响应时,网页脚本会投递超文本传输协议请求,在请求中携带选中兴趣点的信息;网页服务器通过数据库结构化标准查询语言的更新命令改变当前兴趣点数据表的选中标记;
第四步:联动屏幕网页服务器通过网络查询数据库服务器检测到兴趣点的改变,并通过网页重定向技术自动将联动屏幕切换到兴趣点相关页面,从而完成联动切换过程;
联动屏幕的定时器查询任务查询结果以字符串文本形式返回;如果查询结果为空字符串,则代表兴趣点没有改变;如果查询结果不为空,则从查询结果中解析出兴趣点的唯一标识信息;联动屏幕网页浏览器重新投递超文本传输协议重定向请求,并在请求头部包含兴趣点唯一标识信息;网页服务器接受请求,返回包含兴趣点完整网页的超文本传输协议响应;网页浏览器解析响应,并以可视化的形式显示新的兴趣点网页;
这样,联动屏幕实现了兴趣点的切换。
本发明应用了数据库的表设计的信息集成,将信息保存到数据库中;数据流管理技术,是将保存到数据库表格中的信息应用数据对象自动读取,完成各大屏幕数据显示内容的自动切换功能,具有以下几大特点:
1.页面软件设计简单,屏幕分辩率可单独灵活控制,达到简单实用的目的。
2.硬件安装布署容易,只要将各大屏幕连接计算机,并且计算机连接网络即可,达到的硬件网络容易布署的目的。
3.方便对车辆状态进行详细监控,包括车辆轨迹和混合动力信号的显示。
此发明提高了软件设计方法,布署简单,方便实用,并且易于扩展其他功能,保障了多屏幕数据自动切换的稳定性和可靠性,可适用于示范运行远程监控系统监控中心屏幕显示等。
附图说明
图1说明了整个系统的硬件设计结构及物理连接方式;
图2是整个数据对象;
图3是主键和关联数据;
图4是整个数据流方向;
图5是全国地图页面功能及操作;
图6是城市地图的车辆状态;
图7是信号查看页面的内容。
具体实施方式
本发明的技术方案包含以下几部分:
1. 屏幕联动数据切换;
2. 数据库表设计的信息集成;
3. 数据库数据对象设计;
4. 主键和关联数据设计;
5. 数据流管理。
此方案的硬件设备列表,见表1;
表1
图1说明了整个系统的硬件设计结构及物理连接方式。
硬件网络设计结构:1是因特网;2、3是服务器系统,包括数据库服务器和网页服务器,网页服务器要具有公网的网络地址;2是数据库服务器,保存数据库表;3是页面服务器,用于对外提供页面服务。4、5、6是终端计算机,每个终端计算机各自连接7、8、9三个大屏幕,显示屏幕切换的内容。
此方案的软件环境描述:操作系统软件采用微软公司的Windows2003 64位服务器版,数据库采用微软公司的SQL Server2000软件,还有网页服务器和JDK(Java Development Kit)。
软件名称和版本如下所示,见表2;
表2
1. 数据库表设计的信息集成
数据库也是关系型数据库,数据和表紧密联系。应用实体-联系图(Entity Relationship Diagram,简称E-R)模型和结构化查询语言(Structured Quevy Language,简称SQL)进行数据库信息访问。
E-R模型本质上是二维的模型,通过一系列二维关系的组合来描述复杂实体,每个表所代表的所有实体在建模设计时有差异性,根据不同功能设计不同表格,所以此方案用二维表来设计信息保存。实现此方案进行数据库表设计的数据库表名为:当前城市和车(CurCityCar)。
表格字段设计如下,见表3;
表3
通过此表格保存大屏幕数据切换的信息,其中保存城市名称(CityName),纬度(Lat),经度(Lng),车辆标识(CarID)。
为了提高软件的编码效率,提出另外一种数据库概念,面向对象技术,在面向对象的设计思想中,数据也是以对象的形式存在,层次结构是对数据对象最直接、最自然的体现。设计数据库表对象名为:数据对象当前城市和车(P_CurCityCar)。
图2描述了整个数据对象。
数据对象描述:10是因特网络,提供数据传输的通道。数据对象在数据库服务器11与页面服务器12之间进行数据流通信。数据对象对外提供基本服务器功能,其中包括本数据对象的添加,修改,删除,更新,查询的五种基本数据操作。然后负责页面服务器系统的编码人员使用这些数据对象完成客户业务应用。
软件开发已经广泛采用了面向对象的设计思想和技术,而面向对象的数据库技术更容易接受。对象数据库出现时,在标准的SQL接口下,访问关系型数据库的用面向对象程序很容易写。在关系理论中,数据应该被组织成规范的表——也就是数据应该按唯一的方式组织,这种设计技术的引入确保了关系表中的数据是一组独立的通过键来关联数据,所以设计数据对象字段的“标识”为主键。
图3描述主键和关联数据。13是主表数据对象,主要包括14标识主键,15(CarID)外键来关联数据,16为数据对象属性列。
以规范的方式存储数据要求存入数据库之前分解数据对象,并且重新组织数据,如组织“城市名”“经纬度”“车辆标识”。
数据流管理
将数据保存到数据库表中并形成数据对象后,使用数据库中数据,下面说明一下数据流管理:
图4描述整个数据流方向。
17是“全国地图”,在“全国地图”中显示车辆所在城市名称。18是“城市地图”,在“城市地图”中显示所有车辆信息,包括在线车辆和离线车辆。19是“信号查看”,在“信号查看”中显示某车辆的实时信号信息。数据流向从“全国地图”到“城市地图”再到“信号查看”。
此数据流管理特点:
其一:数据流环境中的选择,特别是连接和聚集操作,使用扩展查询语言SQL以便容易支持数据流查询。
其二:引入滑动窗口机制可以把无限的数据流转换为有限的关系,并保证快速查询的实时和有效性。
其三:考虑到数据流速的情况,数据流查询优化的目的为获得最大的查询数据流速,即单位时间的数据流量。
基于数据库的大屏幕数据流处理技术方案如下:
图5描述全国地图页面功能及操作。
20是“全国地图”页面,其中21、22、23、24分别代表北京,上海,重庆,襄樊,这些城市设计成可以变化。如果在20屏幕的全国地图页面上点击某一城市(比如北京)名称,全国地图的页面会提取当前鼠标点击的城市(比如北京)名称和经纬度,将这些信息通过数据对象分别保存到数据库表的城市名、经度、纬度的字段中。先保存点击某城市名称,然后保存当前选择城市的经纬度。最后给城市地图18屏幕页面发送消息,城市已有更新,触发18屏幕的城市地图页面内容切换。
城市列表是可以扩展的,根据客户需求进行城市显示。
18屏幕城市地图页面接收到17屏幕全国地图发送的城市更新消息后,18屏幕“城市地图”页面自动读取数据库中保存的城市信息,18屏幕“城市地图”屏幕内容根据保存的城市(比如北京)名称信息和经纬度自动切换到保存城市(比如北京)显示;切换到城市地图后,在城市地图页面中自动显示当前车辆;车辆的图标区别为“在线”和“离线”。
图6描述城市地图的车辆状态。
25为“城市地图”页面,在线和离线的车辆用不同图标区分,其中26、27、28为在线车辆图标,28和29为离线车辆图标。在18屏幕的25城市地图中点击某“在线”车辆(比如26),25页面自动提取当前点击车辆保存到数据库表的车辆标识(CarID),然后向19屏幕的信号显示页面发送消息,在线车辆已有更新,触发19屏幕信号显示内容切换功能。用于实现右边屏幕的显示内容切换。
31页面接收到18屏幕的页面发送的消息后,31页面自动读取数据库中的车辆标识信息,31信号显示页面自动读取当前车辆的相关实时信号显示到31页面的相关区域。
信号显示屏幕显示的内容是当前车辆的实时信息:如实时信号显示,信号曲线显示,车辆的地图轨迹监控功能。
图7描述信号查看页面的内容。
31为“信号查看”页面,其中32、33、34为实时信号显示列表,列表数量根据不同车辆显示不同,35是曲线数据显示区域,显示用户最关心的具有数据对比意义的信号;36是车辆轨迹的实时跟踪,根据车辆的运行道路,用红线画出行驶轨迹。