CN105049787B - B/s架构下基于实时缓存和主动推送的数据更新方法 - Google Patents
B/s架构下基于实时缓存和主动推送的数据更新方法 Download PDFInfo
- Publication number
- CN105049787B CN105049787B CN201510303701.7A CN201510303701A CN105049787B CN 105049787 B CN105049787 B CN 105049787B CN 201510303701 A CN201510303701 A CN 201510303701A CN 105049787 B CN105049787 B CN 105049787B
- Authority
- CN
- China
- Prior art keywords
- data
- client
- caching
- information
- real
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公布一种B/S架构下的监控自动化系统客户端数据更新方法,通过对客户端监视画面所需动态数据进行实时缓存并进行服务端主动推送,实现客户端监视画面的数据自动更新。其目的是在大数据量、高并发环境下保证B/S架构监控自动化系统信息显示的实时性、高效性,降低服务器及客户端资源需求。
Description
技术领域
本专利涉及一种在基于B/S架构的自动化系统中通过实时数据缓存和主动推送实现数据监控的方法,属于电力系统自动化领域。
背景技术
传统监控自动化系统采用C/S架构,比较适合分布式数据采集、集中监控的应用场合,其典型的应用领域包括传统能源、石化行业等,在电力系统中一般用于变电站、电厂等的运行监控。近年来,随着经济技术水平的不断提高,监控自动化系统的体系结构和应用规模都得到了很大的拓展,传统的C/S架构监控自动化系统已经难以满足分布式、大容量监控系统的需求,B/S架构监控自动化系统的应用比重不断扩大,其最大的优点是系统部署简便,具有良好的扩展能力,尤其适应数据来源分散,用户类型多样化的需求。
B/S架构在带来模式多样、部署灵活等优点时,其固有特点也影响了系统的性能。以浏览器作为数据终端平台的监控自动化客户端软件,常用的实时数据更新手段是由客户端定期发起更新请求,在服务端进行数据扫描并将数据甚至是整个网页内容发送至客户端进行更新,对于较大规模的监控自动化应用,画面可能多达数百幅,系统客户端最大并发数量以数百计,系统数据容量达到数十万直至数百万,采用传统的数据更新方案在系统数据采集规模增长到一定程度或是客户端并发量很大的情况下,此方式对服务器资源和网络带宽带来很大的压力,造成系统反应迟缓或响应不稳定。
目前,通过服务器推送取代客户端主动查询的技术已经在B/S架构软件中普遍使用,解决了上述缺陷中的一部分问题,即客户端频繁发起请求及服务器频繁响应带来的资源占用问题,但单纯采用此技术对本应用领域带来的效果不佳,其原因包括:1)监视数据的刷新本质上是需要定时进行的,服务器推送多数仍以定时为主,如不对推送策略进行优化,实质上与客户端发起请求方式差异不大。2)不管是进行数据推送还是数据请求-响应操作,在服务端进行的数据库扫描没有区别,使用推送操作对这部分没有优化作用,而在WEB系统中对数据库进行定时扫描相当消耗资源。3)监控自动化系统所用的监控画面上的数据显示没有固定模式,同一画面上的数据可能有不同的数据来源和更新速率,在进行数据库扫描时也难以对查询进行优化。
可见,需要提供一种在B/S架构监控自动化系统中从数据采集模块(数据提供者)到客户端(数据消费者)整个流程上的优化的方法,以提高并稳定系统性能,满足应用需求。
发明内容
针对现有B/S架构中存在的上述问题,本发明提出了一种监控自动化系统客户端数据更新方法,通过对客户端监视画面所需数据进行实时缓存并使用可配置的推送手段实现B/S架构下自动化监控自动化系统中实现监控画面的数据自动刷新。其目的是在大数据量、高并发环境下保证B/S架构监控自动化系统信息显示的实时性、高效性,降低服务器及客户端资源需求。
本发明实现以上发明目的采用如下技术方案:一种B/S架构下基于实时缓存和主动推送的监控自动化系统客户端数据更新方法,其特征在于包括步骤:
1)在绘制生成监控图形时,对生成的图形文件进行解析,提取图形文件的图形-实时数据关联信息并保存;
2)客户端打开图形页面并进行初始化时,通过富互联网(RIA)技术进行图形文件读取并在客户端解析显示,服务端控制模块通过客户端的连接初始化信息对活跃客户端情况进行记录,将相关信息储存为激活图形-客户端关系表,进行数据推送注册,同时服务端控制模块根据图形中包含的各信息点参数从数据库中提取必要信息,为它们创建实时缓存。当信息点已在实时缓存中存在的情况下,则无需执行缓存创建操作。
3)数据采集模块、计算模块数据生产者初始化完成开始生成数据信息点条目后即执行如下操作:将数据写入服务器数据库中,实现历史数据持久化保存;将当前已经包含于实时缓存中的信息点条目的最新值及其他必要信息写入实时缓存。
4)数据推送模块结合检查激活图形-客户端关系表、实时数据缓存,按照预先配置的推送策略为每个客户端的每个激活画面进行数据推送,推送数据为该画面当前包含信息点条目的子集。
5)侦测到客户端图形关闭时,服务端控制模块对激活图形-客户端关系表进行维护,取消相应的推送注册;对实时缓存中激活图形中使用的各个信息点条目进行维护,当检测到由于所有客户端对某个图形的使用均已结束,导致图形上所使用的某些信息点条目已无存活价值,将相应的信息点从实时缓存中删除,并释放其占有空间。
本发明所述方法并不限制所采用的图形信息的具体物理格式,如采用流行的SVG(可缩放矢量图形)文件格式或其他自定义格式,不管对于何种图形信息格式,图形的自身的标识(索引)和图形中所需要进行实时更新的各个信息点的标识(索引)都是必然存在的,只要获取这些信息,就能够支持后续操作。
进一步地,在进行数据推送时,根据监控系统的不同需求,推送策略使用按照固定间隔,数据变化率,按照画面区域分块不同更新方式进行,其中数据变化率指画面上距离上次更新后经过给定时间后数据发生变化的比例。通过可配置的推送策略,可有效减少推送信息量,提高系统的并发性能。
实时缓冲的信息点条目维护、实时缓冲的信息点条目数据更新、数据推送是三个异步过程,有利于通过对各部分的实现细节调整实现最佳性能。
进一步地,当侦测到所有客户端对某图形使用均已结束,经过一个延时时间t之后再进行实时缓存清除操作,以避免用户在画面间进行切换时,反复对缓存进行清除/添加操作带来的性能损失。
该发明具有如下的有益效果:
本发明通过对富互联网应用、动态维护的实时数据缓存及主动推送技术的结合使用,提高了B/S结构监控自动化系统在客户端实时数据更新时服务器侧数据扫描、主动推送的效率,降低了网络带宽需求,提高了系统的响应能力。
附图说明
图1为本发明实施例的激活图形及注册过程;
图2为本发明实施例的关闭图形及取消注册过程;
图3为本发明基于实时缓存和主动推送的监控自动化系统客户端数据更新方法原理图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。
本专利的实施方式包含了如下操作,如图3所示,B/S架构下基于实时缓存和主动推送的监控自动化系统客户端数据更新方法原理图:
操作1:在监控自动化系统上通过图形编辑工具生成各类监控图形。监控图形可以由表格、模拟接线图图元、曲线等不同显示模式的图形要素通过编辑工具组合而成,编辑工具除编辑图形属性外,还建立各个图形元素和对应数据信息的关联关系。图形编辑完成后,图形索引(图形ID)和图形中所包含的数据信息(活动信息点索引)作为图形配置信息被保存在配置数据库中。仅对于数据更新要求而言,不需要保存图形元素信息,图形元素的显示、图形元素绘制时和活动信息点之间的对应关系由客户端在绘制图形时对照完成。
操作2:参照图1,客户端打开图形页面并进行初始化时,将所激活图形的信息返回到服务端,服务端登记该信息实现推送注册。同时,检查其在内存中维护的激活图形-客户端关系表,根据图形是初次激活还是已经在其他客户端激活对该表执行添加或修改操作;如该图形为第一次激活,服务端检查该图形中包含的信息点,从数据库中提取必要信息,为它们构建实时缓存,如信息点已经处于缓存中,说明该信息点存在于已经在客户端打开的其他图形中,此时增加信息点图形引用计数。
操作3:数据采集模块、计算模块数据生产者在完成数据采集、计算等数据生成操作后,将结果写入相应的服务器历史数据库;同时,如实时数据条目已经存在于实时数据缓冲中,就将更新实时数据缓冲。
步骤4:数据推送模块定时遍历激活图形-客户端关系表,从实时缓存中获得图形中相关联的各个信息点实时数据、时间戳等信息,组装数据更新报文,完成一次推送操作。
步骤5:参照图2,客户端关闭、发生图形切换时,客户端都会向服务端返回图形关闭消息,在消息中包含了关闭图形的索引,服务端接收到关闭消息时,检查激活图形-客户端关系表,取消该客户端/图形的推送注册,同时将相应的激活图形引用数减一,当某个图形的激活引用数为0时,服务端删除这条激活图形记录,同时在实时缓存中查找该图形相关的信息点,将信息点的图形引用数减一,一旦某个信息点图形引用数为0,说明已经没有图形使用该数据,可将该数据从实时缓存中删除。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种B/S架构下基于实时缓存和主动推送的监控自动化系统客户端数据更新方法,其特征在于包括如下步骤:
步骤一、在绘制生成监控图形时,对生成的图形文件进行解析,提取图形文件的图形-实时数据关联信息并保存;
步骤二、客户端打开图形页面并进行初始化时,通过富互联网(RIA)技术进行图形文件读取并在客户端解析显示,服务端控制模块通过客户端的连接初始化信息对活跃客户端情况进行记录,将相关信息储存为激活图形-客户端关系表,进行数据推送注册,同时服务端控制模块根据图形中包含的各信息点参数从数据库中提取必要信息,为它们创建实时缓存;当信息点已在实时缓存中存在的情况下,则无需执行缓存创建操作;
步骤三、数据采集模块、计算模块数据生产者初始化完成开始生成数据信息点条目后即执行如下操作:将数据写入服务器数据库中,实现历史数据持久化保存;将当前已经包含于实时缓存中的信息点条目的最新值及其他必要信息写入实时缓存;
步骤四、数据推送模块结合检查激活图形-客户端关系表、实时数据缓存,按照预先配置的推送策略为每个客户端的每个激活画面进行数据推送,推送数据为该画面当前包含信息点条目的子集;
步骤五、侦测到客户端图形关闭时,服务端控制模块对激活图形-客户端关系表进行维护,取消相应的推送注册;对实时缓存中激活图形中使用的各个信息点条目进行维护,当检测到由于所有客户端对某个图形的使用均已结束,导致图形上所使用的某些信息点条目已无存活价值,将相应的信息点从实时缓存中删除,并释放其占有空间。
2.根据权利要求1所述的的监控自动化系统客户端数据更新方法,其特征在于:步骤一中的信息提取内容根据图形格式的不同有所不同,但至少包含图形自身索引、图形中包含的各个信息点条目的索引信息。
3.根据权利要求1所述的的监控自动化系统客户端数据更新方法,其特征在于:步骤四中,在进行数据推送时,推送策略使用按照固定间隔,按照图形、数据权重,按照画面区域分块不同更新方式进行,以在不同的监控要求下达到最佳使用效果。
4.根据权利要求1所述的的监控自动化系统客户端数据更新方法,其特征在于:步骤五优化实现为:当侦测到所有客户端对某图形使用均已结束,经过一个延时时间t之后再进行实时缓存清除操作,以避免用户在画面间进行切换时,反复对缓存进行清除/添加操作带来的性能损失。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510303701.7A CN105049787B (zh) | 2015-06-05 | 2015-06-05 | B/s架构下基于实时缓存和主动推送的数据更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510303701.7A CN105049787B (zh) | 2015-06-05 | 2015-06-05 | B/s架构下基于实时缓存和主动推送的数据更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105049787A CN105049787A (zh) | 2015-11-11 |
CN105049787B true CN105049787B (zh) | 2018-05-29 |
Family
ID=54455939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510303701.7A Active CN105049787B (zh) | 2015-06-05 | 2015-06-05 | B/s架构下基于实时缓存和主动推送的数据更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105049787B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106846431B (zh) * | 2016-12-27 | 2020-12-29 | 中国电子科技网络信息安全有限公司 | 一种支持多表现形式的统一Web图形绘制系统 |
CN107070737A (zh) * | 2017-02-07 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 一种通信指标数据实时监控系统和方法 |
CN107357623A (zh) * | 2017-07-20 | 2017-11-17 | 上海金大师网络科技有限公司 | 一种基于多图层的局部绘制方法及系统 |
CN110807229B (zh) * | 2019-10-14 | 2023-11-10 | 许继集团有限公司 | 一种配网主站系统web接线图的数据更新方法及服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07312787A (ja) * | 1994-05-17 | 1995-11-28 | Fuji Electric Co Ltd | 遠方監視制御装置 |
CN102867232A (zh) * | 2012-08-28 | 2013-01-09 | 中国电力科学研究院 | 一种能量管理系统中厂站综合信息可视化展示方法 |
CN102867021A (zh) * | 2012-08-08 | 2013-01-09 | 中国电力科学研究院 | 一种变电站矢量图形的转换方法 |
CN104104719A (zh) * | 2014-07-04 | 2014-10-15 | 中国南方电网有限责任公司 | 一种电网调度移动应用中电网实时潮流图的展示方法 |
CN104363110A (zh) * | 2014-10-29 | 2015-02-18 | 国家电网公司 | 一种基于画面计算服务的ems人机画面监控系统及实现方法 |
-
2015
- 2015-06-05 CN CN201510303701.7A patent/CN105049787B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07312787A (ja) * | 1994-05-17 | 1995-11-28 | Fuji Electric Co Ltd | 遠方監視制御装置 |
CN102867021A (zh) * | 2012-08-08 | 2013-01-09 | 中国电力科学研究院 | 一种变电站矢量图形的转换方法 |
CN102867232A (zh) * | 2012-08-28 | 2013-01-09 | 中国电力科学研究院 | 一种能量管理系统中厂站综合信息可视化展示方法 |
CN104104719A (zh) * | 2014-07-04 | 2014-10-15 | 中国南方电网有限责任公司 | 一种电网调度移动应用中电网实时潮流图的展示方法 |
CN104363110A (zh) * | 2014-10-29 | 2015-02-18 | 国家电网公司 | 一种基于画面计算服务的ems人机画面监控系统及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105049787A (zh) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105049787B (zh) | B/s架构下基于实时缓存和主动推送的数据更新方法 | |
CN101404627B (zh) | 即时通讯系统更新联系人状态的方法及即时通讯系统 | |
Fujimoto | Parallel and distributed simulation | |
Fujimoto | Parallel and distributed simulation systems | |
CN105373448A (zh) | 数据库中故障数据的恢复方法和系统 | |
CN110765381A (zh) | 基于WebAssembly技术的配网主站的Web发布方法及系统 | |
CN103297291A (zh) | 网站实时状态监控方法及系统 | |
CN108874389A (zh) | 前端页面开发框架 | |
CN104572845B (zh) | 文件分发方法、装置、设备及系统 | |
CN104317957B (zh) | 一种报表处理的开放平台、系统及报表处理方法 | |
CN102521712A (zh) | 一种流程实例数据处理方法和装置 | |
CN104572084B (zh) | 卡片业务中用户界面生成及数据下发方法、装置 | |
CN109657007A (zh) | 基于异步提交的数据库数据同步并行执行方法及设备 | |
Tremayne | Applying network theory to the use of external links on news web sites | |
CN104104719A (zh) | 一种电网调度移动应用中电网实时潮流图的展示方法 | |
CN105491078A (zh) | Soa系统中的数据处理方法及装置、soa系统 | |
CN107302569A (zh) | 一种面向云平台的安全监控数据采集与存储方法 | |
CN105718592B (zh) | 基于Redis的数据调用方法及其系统 | |
CN107545060A (zh) | 一种redis主从全量同步数据的限速方法及装置 | |
CN104616354B (zh) | 一种三维gis快速加载空间数据的方法 | |
CN104363110A (zh) | 一种基于画面计算服务的ems人机画面监控系统及实现方法 | |
CN100422996C (zh) | 一种基于数据库的低负荷画面刷新方法 | |
CN114020321B (zh) | 一种基于用户行为数据的智能应用界面制定系统和方法 | |
CN105204822A (zh) | 一种基于mic协处理器的多数据流处理方法 | |
CN114707968A (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 | ||
CB02 | Change of applicant information |
Address after: 211153 development building, No. 108, Weiyang Road, Jiangsu, Yangzhou Applicant after: GUODIAN NANJING AUTOMATION HAIJI TECHNOLOGY CO., LTD. Address before: Shuige road Jiangning Development Zone in Nanjing City, Jiangsu Province, No. 39 211153 Applicant before: GUODIAN NANJING AUTOMATION HAIJI TECHNOLOGY CO., LTD. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |