一种浏览器之间交互的实现方法和装置的制作方法

文档序号:6379844阅读:141来源:国知局
专利名称:一种浏览器之间交互的实现方法和装置的制作方法
技术领域
本发明涉及浏览器和服务器(BS)架构技术领域,尤其涉及一种在BS架构下浏览器之间交互的实现方法和装置。
背景技术
随着视频监控系统的广泛应用,客户对视频监控的要求不断提高,这需要监控客户端具有易用性和互动性,以使客户更加方便的操作和管理视频监控系统,并能够了解查看整个系统更多更直观的信息。传统单屏幕监控系统很难满足客户的需求,于是多屏监控系统随之得到发展。多屏监控系统可以基于CS架构或者BS架构开发,由于BS架构具有分布性广、维护简单、易于部署等诸多优点,因此客户对BS架构监控客户端系统的需求正在不断增多。现有的实现多屏监控的一种方式采用的是框架嵌套技术,框架中包含IE内核浏览器窗体,通过该内核浏览器窗体实现网页访问操作等,各个浏览器窗体间的交互统一通过上层框架来传递。该种方式是CS架构下嵌套浏览器的实现,不能适用于BS架构。现有的实现多屏监控的另一种方式采用的是IE非模态对话框,通过创建多个非模态对话框实现多个页面之间的交互,进而实现多屏显示。在该种方式中,各个页面的交互是在一个IE进程下工作,无法在两个独立的IE进程之间交互。可见,在BS架构下如何实现多个浏览器之间的交互,现有技术尚未提出有效的解
决方案。

发明内容
有鉴于此,本发明的目的是提供一种浏览器之间交互的实现方法和装置,能够在BS架构下完成浏览器之间的业务通信。为实现上述目的,本发明提供技术方案如下 一种浏览器之间交互的实现方法,应用于基于BS架构的视频监控系统的客户端中,所述客户端能够启动多个浏览器,每个浏览器内嵌有一 COM组件,所述实现方法包括浏览器启动时,通过COM组件将注册信息发送到信息同步中心,所述注册信息中包括COM组件的句柄,所述信息同步中心由首个启动的浏览器启动;信息同步中心保存所述注册信息,并将保存的注册信息同步到所有已经启动的浏览器的COM组件;各浏览器的COM组件之间根据所述注册信息实现业务通信。一种浏览器之间交互的实现装置,应用于基于BS架构的视频监控系统的客户端中,所述客户端能够启动多个浏览器,每个浏览器内嵌有一 COM组件,所述实现装置包括信息注册模块,设置在浏览器中,用于在浏览器启动时,通过COM组件将注册信息发送到信息同步中心,所述注册信息中包括COM组件的句柄,所述信息同步中心由首个启动的浏览器启动;
信息同步模块,设置在信息同步中心中,用于保存所述注册信息,并将保存的注册信息同步到所有已经启动的浏览器的COM组件;业务通信模块,设置在浏览器中,用于根据所述注册信息,在本浏览器的COM组件与其他浏览器器的COM组件之间实现业务通信。与现有技术相比,本发明的上述技术方案通过采用浏览器向第三方程序(即信息同步中心)注册的方式,简单方便的实现了 BS架构下多浏览器之间的业务通信,进而能够方便的实现视频监控系统的多屏显示。


图I是本发明的浏览器之间交互的实现方法流程图; 图2是本发明的浏览器之间交互的实现方法原理图;图3是本发明的浏览器之间交互的实现方法中浏览器的启动流程图;图4是本发明的浏览器之间交互的实现方法中浏览器的退出流程图;图5是根据本发明的浏览器之间交互的实现方法进行多屏互动的示意图;图6是本发明中实况屏与地图屏的一种交互示意图;图7是本发明中实况屏与地图屏的另一种交互示意图;图8是本发明中告警屏与实况屏的交互示意图。
具体实施例方式针对在BS架构下如何实现多个浏览器之间的交互,现有技术尚未提出有效的解决方案的问题,本发明提供一种浏览器之间交互的实现方法和装置,采用浏览器向第三方程序(即信息同步中心)注册,并由第三方程序将浏览器的注册信息同步到其他浏览器的方式,来实现BS架构下浏览器之间的通信,进而能够实现多屏下的业务交互。图I是本发明的浏览器之间交互的实现方法流程图,所述实现方法应用于基于BS架构的视频监控系统的客户端中,其中,所述客户端能够启动多个浏览器,每个浏览器内嵌有COM组件,所述COM组件提供一个或多个COM接口供页面(JS)调用,参照图I,所述实现方法可以包括如下步骤步骤101,浏览器启动时,通过COM组件将注册信息发送到信息同步中心;浏览器中加载的是HTML文件,运行JS脚本,本身无法实现浏览器之间的交互,所以本发明实施例在浏览器中内嵌COM组件,通过基于COM的组件方式实现浏览器进程间的通信。JS可以直接调用COM组件的COM接口传递数据,而COM组件可以通过多种方式实现浏览器进程间的交互,例如共享内存、管道技术、共享文件、套接字等。本实施例中采取共享内存的方式实现。其中,浏览器启动后发送给信息同步中心的注册信息可以为COM组件的句柄(数据交互所需)。所述信息同步中心为第三方程序,由首个启动的浏览器启动,其作用是转发所有浏览器的注册信息,并可以和所有浏览器进行保活,并且,所述信息同步中心在最后一个浏览器退出时自动退出(即关闭自身程序)。步骤102,信息同步中心保存所述注册信息,并将保存的注册信息同步到所有已经启动的浏览器的COM组件;
信息同步中心接收到浏览器发送的注册信息后,会在本地保存所述注册信息,然后,会将所有保存的注册信息通过消息同步到所有已经启动的浏览器的COM组件。步骤103,各浏览器的COM组件之间根据所述注册信息实现业务通信。举个例子,如图2所示,客户端启动了 3个浏览器,启动顺序为浏览器A、浏览器B和浏览器C,浏览器A具有COM组件A,浏览器B具有COM组件B,浏览器C具有COM组件C。浏览器A启动时,发现信息同步中心还未启动,于是启动信息同步中心,然后,通过COM组件A的接口将COM组件A的句柄发送到信息同步中心,信息同步中心保存COM组件A的句柄。浏览器B启动时,发现信息同步中心已经启动,于是,通过COM组件B的接口将COM组件B的句柄发送到信息同步中心,信息同步中心保存COM组件B的句柄,并将COM组件A、B的句柄同步到COM组件A和COM组件B。或者,也可以是将COM组件B的句柄发送到COM组件A,将COM组件A的句柄发送到COM组件B。
浏览器C启动时,发现信息同步中心已经启动,于是,通过COM组件C的接口将COM组件C的句柄发送到信息同步中心,信息同步中心保存COM组件C的句柄,并将COM组件A、B、C的句柄同步到COM组件A、C0M组件B和COM组件C。或者,也可以是将COM组件C的句柄发送到COM组件A和COM组件B,将COM组件A、B的句柄发送到COM组件C。这样,所有浏览器启动后,每个浏览器并知晓其他浏览器的COM组件的句柄,从而能够通过COM组件进行业务信息的交互。如前所述,浏览器启动后发送给信息同步中心的注册信息包括COM组件的句柄。另外,所述注册信息还可以包括用户登录信息、屏幕类型(实况屏、地图屏还是告警屏等)等,这些信息可用于具体的业务交互。以下结合浏览器的启动流程、退出流程和保活流程对上述方法进行进一步的说明。图3是本发明的浏览器之间交互的实现方法中浏览器的启动流程图。参照图3,浏览器启动时,首先判断是否需要启动交互模式,如果需要进行多屏应用,则启动交互模式,否则按现有流程启动;需要启动交互模式时,则通过COM组件查询信息同步中心是否启动,第一个交互模式的浏览器负责启动信息同步中心;所有交互模式启动的浏览器都通过自身的COM组件向信息同步中心进行注册;信息同步中心保存所有浏览器的注册信息,并将所有保存的注册信息同步到所有已经启动的交互模式的浏览器;随后浏览器之间直接可进行业务交互。图4是本发明的浏览器之间交互的实现方法中浏览器的退出流程图。参照图4,浏览器退出时,通过COM组件发送退出消息到所述信息同步中心;所述信息同步中心删除退出的浏览器的注册信息,并通知其他浏览器删除所述退出的浏览器的注册信息。为保证所有浏览器进程没有异常的退出或者进程被杀的情况,需要交互模式启动的浏览器,通过COM组件启动线程与信息同步中心进行保活,信息同步中心若在一段时间内(例如2分钟)内没有收到任何保活消息的话,则认为浏览器异常关闭,信息同步中心删除关闭的浏览器的注册信息,并通知其他浏览器删除所述关闭的浏览器的注册信息。另外,信息同步中心在确定所有浏览器均退出时,自动退出(即关闭自身程序)。图5是根据本发明的浏览器之间交互的实现方法进行多屏互动的示意图。如图5所示,客户端可以启动四个浏览器,分别对应实况屏、地图屏、告警屏和配置屏,注册信息在所有浏览器中同步后,就可以实现多屏互动业务,所有业务信息可以通过消息方式发送到各浏览器上,每个浏览器可以单独启动业务,并且可以查询到任一浏览器中的业务信息,给用户感觉就是在一个客户端上进行操作,和CS客户端一样。几个典型的应用场景如下I、实况屏与地图屏之间的一种交互如图6所示,从实况屏可以定位到地图功能,可以从实况屏的资源树或者窗格上正在播放的摄像机实况点击右键定位到地图功能,地图上自动找到该摄像机位置,并且有需要的话进行一定比例的放大。这个过程需要浏览器之间的交互,通过实况屏发送摄像机标识信息到地图屏,通知地图屏需要查找这个摄像机的位置,移动并放大该摄像机所处位置的地图,之后,地图屏可以反馈成功或失败的结果到实况屏。2、实况屏与地图屏之间的另一种交互
如图7所示,地图屏启动的实况可以放到实况屏中进行播放,由于地图上只能进行实况的预览,很多功能需要在实况屏上才能操作,此时需要将预览的实况窗格直接在实况屏上进行播放,地图屏中发送摄像机标识信息到实况屏,实况屏收到后在焦点窗格启动该摄像机的实况,之后,实况屏可以反馈成功或失败的结果到地图屏。3、告警屏与实况屏之间的交互如图8所示,可以从告警屏启动回放查询,在告警屏查看到即时告警信息后需要查询回放,此时告警屏发送摄像机编码以及告警时间到实况屏,实况屏上查询到录像信息后直接在焦点窗格中播放,之后,实况屏可以反馈成功或失败的结果到告警屏。对应于上述方法,本发明还提供一种浏览器之间的交互实现装置。所述交互实现装置应用于基于BS架构的视频监控系统的客户端中,所述客户端能够启动多个浏览器,每个浏览器内嵌有一 COM装置,所述实现装置可以包括信息注册模块,设置在浏览器中,用于在浏览器启动时,通过COM组件将注册信息发送到信息同步中心,所述注册信息中包括COM组件的句柄,所述信息同步中心由首个启动的浏览器启动;信息同步模块,设置在信息同步中心中,用于保存所述注册信息,并将保存的注册信息同步到所有已经启动的浏览器的COM组件;业务通信模块,设置在浏览器中,用于根据所述注册信息,在本浏览器的COM组件与其他浏览器的COM组件之间实现业务通信,其中,在各COM组件之间,可以采用共享内存、管道技术、共享文件或套接字方式进行业务信息的交互。对应于浏览器的退出流程,所述信息注册模块还用于,在浏览器退出时,通过COM组件发送退出消息到所述信息同步中心;所述信息同步模块还用于,删除退出的浏览器的注册信息,并通知其他浏览器删除所述退出的浏览器的注册信息。对应于浏览器的保活流程,所述信息同步模块还用于,与浏览器之间执行保活处理,并在确认浏览器异常关闭时,删除关闭的浏览器的注册信息,并通知其他浏览器删除所述关闭的浏览器的注册信息。进一步,所述浏览器之间的交互实现装置还可以包括关闭模块,设置在信息同步中心中,用于在确认所有浏览器关闭时,关闭自身程序。对应于多屏互动的应用,所述多个浏览器可以包括如下浏览器中的至少一个与实况屏对应的第一浏览器、与地图屏对应的第二浏览器和与告警屏对应的第三浏览器。综上所述,本发明的上述技术方案通过采用浏览器向第三方程序(即信息同步中心)注册的方式,简单方便的实现了 BS架构下多浏览器之间的业务通信,进而能够方便的实现视频监控系统的多屏显示以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保 护的范围之内。
权利要求
1.一种浏览器之间交互的实现方法,应用于基于BS架构的视频监控系统的客户端中,其特征在于,所述客户端能够启动多个浏览器,每个浏览器内嵌有一 COM组件,所述实现方法包括 浏览器启动时,通过COM组件将注册信息发送到信息同步中心,所述注册信息中包括COM组件的句柄,所述信息同步中心由首个启动的浏览器启动; 信息同步中心保存所述注册信息,并将保存的注册信息同步到所有已经启动的浏览器的COM组件; 各浏览器的COM组件之间根据所述注册信息实现业务通信。
2.如权利要求I所述的实现方法,其特征在于,所述各浏览器的COM组件之间根据所述注册信息实现业务通信,包括 在各COM组件之间,采用共享内存、管道技术、共享文件或套接字方式进行业务信息的交互。
3.如权利要求I所述的实现方法,其特征在于,还包括 浏览器退出时,通过COM组件发送退出消息到所述信息同步中心; 所述信息同步中心删除退出的浏览器的注册信息,并通知其他浏览器删除所述退出的浏览器的注册信息。
4.如权利要求I所述的实现方法,其特征在于,还包括 信息同步中心与浏览器之间执行保活处理,并在确认浏览器异常关闭时,删除关闭的浏览器的注册信息,并通知其他浏览器删除所述关闭的浏览器的注册信息。
5.如权利要求I所述的实现方法,其特征在于,还包括 信息同步中心在确认所有浏览器关闭时,关闭自身程序。
6.如权利要求I所述的实现方法,其特征在于,所述多个浏览器包括如下浏览器中的至少一个 与实况屏对应的第一浏览器、与地图屏对应的第二浏览器和与告警屏对应的第三浏览器。
7.—种浏览器之间交互的实现装置,应用于基于BS架构的视频监控系统的客户端中,其特征在于,所述客户端能够启动多个浏览器,每个浏览器内嵌有一 COM组件,所述实现装置包括 信息注册模块,设置在浏览器中,用于在浏览器启动时,通过COM组件将注册信息发送到信息同步中心,所述注册信息中包括COM组件的句柄,所述信息同步中心由首个启动的浏览器启动; 信息同步模块,设置在信息同步中心中,用于保存所述注册信息,并将保存的注册信息同步到所有已经启动的浏览器的COM组件; 业务通信模块,设置在浏览器中,用于根据所述注册信息,在本浏览器的COM组件与其他浏览器器的COM组件之间实现业务通信。
8.如权利要求7所述的实现装置,其特征在于,所述业务通信模块进一步用于 在各COM组件之间,采用共享内存、管道技术、共享文件或套接字方式进行业务信息的交互。
9.如权利要求7所述的实现装置,其特征在于所述信息注册模块还用于,在浏览器退出时,通过COM组件发送退出消息到所述信息同步中心; 所述信息同步模块还用于,删除退出的浏览器的注册信息,并通知其他浏览器删除所述退出的浏览器的注册信息。
10.如权利要求7所述的实现装置,其特征在于 所述信息同步模块还用于,与浏览器之间执行保活处理,并在确认浏览器异常关闭时,删除关闭的浏览器的注册信息,并通知其他浏览器删除所述关闭的浏览器的注册信息。
11.如权利要求I所述的实现装置,其特征在于,还包括 关闭模块,设置在信息同步中心中,用于在确认所有浏览器关闭时,关闭自身程序。
12.如权利要求7所述的实现装置,其特征在于,所述多个浏览器包括如下浏览器中的 至少一个 与实况屏对应的第一浏览器、与地图屏对应的第二浏览器和与告警屏对应的第三浏览器。
全文摘要
本发明提供一种浏览器之间交互的实现方法和装置,所述方法包括浏览器启动时,通过COM组件将注册信息发送到信息同步中心,所述注册信息中包括COM组件的句柄,所述信息同步中心由首个启动的浏览器启动;信息同步中心保存所述注册信息,并将保存的注册信息同步到所有已经启动的浏览器的COM组件;各浏览器的COM组件之间根据所述注册信息实现业务通信。本发明简单方便的实现了BS架构下多浏览器之间的业务通信,进而能够方便的实现视频监控系统的多屏显示。
文档编号G06F17/30GK102970330SQ20121041725
公开日2013年3月13日 申请日期2012年10月25日 优先权日2012年10月25日
发明者黄黎滨 申请人:浙江宇视科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1