CN101291251A - 一种多计算机的同步控制方法及系统 - Google Patents

一种多计算机的同步控制方法及系统 Download PDF

Info

Publication number
CN101291251A
CN101291251A CNA2008101062531A CN200810106253A CN101291251A CN 101291251 A CN101291251 A CN 101291251A CN A2008101062531 A CNA2008101062531 A CN A2008101062531A CN 200810106253 A CN200810106253 A CN 200810106253A CN 101291251 A CN101291251 A CN 101291251A
Authority
CN
China
Prior art keywords
computer
state information
information
network
control
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.)
Granted
Application number
CNA2008101062531A
Other languages
English (en)
Other versions
CN101291251B (zh
Inventor
刘建明
胡平平
赵峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
State Grid Information and Telecommunication Co Ltd
Beijing Guodiantong Network Technology Co Ltd
Original Assignee
State Grid Information and Telecommunication Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Information and Telecommunication Co Ltd filed Critical State Grid Information and Telecommunication Co Ltd
Priority to CN2008101062531A priority Critical patent/CN101291251B/zh
Publication of CN101291251A publication Critical patent/CN101291251A/zh
Priority to EP09741668.9A priority patent/EP2276201A4/en
Priority to PCT/CN2009/070476 priority patent/WO2009135393A1/zh
Priority to US12/934,853 priority patent/US8554864B2/en
Application granted granted Critical
Publication of CN101291251B publication Critical patent/CN101291251B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Abstract

本发明提供了一种多计算机的同步控制方法,所述多台计算机通过网络连接,所述的方法包括:在网络中的各台计算机上维护运行信息表,所述运行信息表中包括:网络中所有计算机的标识信息、以及对应计算机的运行状态信息;接收用户在网络中任一台计算机上输入的同步控制指令;在所述接收指令的计算机的运行状态信息符合预置规则时,对所述运行信息表中记录的计算机上执行所述同步控制操作。本发明以在减少系统开销和资源浪费、降低成本的基础上,简单、高效地实现多计算机的同步控制,并使用户获得更好的使用体验。

Description

一种多计算机的同步控制方法及系统
技术领域
本发明涉及多计算机的同步处理领域,特别是涉及一种多计算机的同步控制方法、一种多计算机的同步控制系统、一种多机多屏的3D同步显示方法及一种多机多屏的3D同步显示系统。
背景技术
在分布式产品同步浏览、基于网络的远程故障分析、医疗会诊等应用领域,经常需要将多台计算机通过网络连接,以同步完成某一种控制操作。现有技术中,这种多计算机同步控制的方法通常有以下两种:
第一种为,基于客户机/服务器模式的多计算机同步浏览控制系统。在这种系统中,必须有一台计算机作为服务器,系统中的其它计算机必须与作为服务器的计算机通信,才能完成所需要的同步控制。其中,作为服务器的计算机和其它计算机上所运行的软件不同,并且,为保证系统的正常运行,要求作为服务器的计算机必须首先运行,并一直保持运行状态。
第二种为,基于对等模式的多计算机同步浏览控制系统。这种系统不需要专门的计算机作为服务器控制其它计算机,但必须通过用户人工设置主控计算机的控制权,也就是说,需要由用户预先执行控制请求命令,在获得允许后,相应的计算机才能被设定为主控计算机,以控制操作;相应地,如果需要更换主控计算机,则需要先执行当前主控计算机的控制权放弃命令,再针对新设置的主控计算机重新执行新的控制请求命令,在获得允许后,才能完成所述主控计算机的更换。
可以看出,以上现有技术的第一种实现方式存在如下缺点:
(1)对于同一个系统,需要配备不同的两套软件:服务器软件和客户机软件,增加了不必要的系统开销、浪费资源,而且成本较高;
(2)为了保证系统的正常运行,必须至少有一台特定的计算机(服务器)先运行,且一直处于运行状态,同样导致了系统开销增加、资源浪费和成本较高的问题;
(3)作为实施控制的主控计算机的控制操作,需要先发送给服务器,然后由服务器再转发给系统的其它计算机,会造成控制的延时,导致系统的反应速度变慢。
以上现有技术的第二种实现方式存在如下缺点:
主控计算机控制权的获得和放弃是由用户执行特定命令实现的,使用和操作不方便,且经常会给用户造成系统失效的感觉,用户使用体验较差。
总之,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新的提出一种多计算机的同步控制机制,用以在减少系统开销和资源浪费、降低成本的基础上,简单、高效地实现多计算机的同步控制,并使用户获得更好的使用体验。
发明内容
本发明所要解决的技术问题是提供一种多计算机的同步控制方法及系统,用以在减少系统开销和资源浪费、降低成本的基础上,简单、高效地实现多计算机的同步控制,并使用户获得更好的使用体验。
本发明的另一个目的是将上述构思应用于具体的应用环境中,提供一种多机多屏的3D同步显示方法和一种多机多屏的3D同步显示系统,从而实现在由网络连接的多台计算机上,对同一3D对象进行无冲突地同步显示控制的功能。
为解决上述技术问题,本发明实施例提供了一种多计算机的同步控制方法,所述多台计算机通过网络连接,所述的方法包括:
在网络中的各台计算机上维护运行信息表,所述运行信息表中包括:网络中所有计算机的标识信息、以及对应计算机的运行状态信息;
接收用户在网络中任一台计算机上输入的同步控制指令;
在所述接收指令的计算机的运行状态信息符合预置规则时,对所述运行信息表中记录的计算机上执行所述同步控制操作。
优选的,所述运行状态信息包括对等状态信息、主控状态信息或从属状态信息。
优选的,所述同步控制指令为同步控制触发指令,所述执行同步控制的步骤包括:
依据所述同步控制触发指令判断所述接收指令的计算机的运行状态信息是否为对等状态信息;
若是,则将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
所述其它计算机接收所述控制权请求消息,将其运行状态信息转换为从属状态信息。
优选的,所述运行信息表中还包括:优先级参数,所述执行同步控制的步骤还包括:
通过对比所述接收指令的计算机的优先级参数,选取优先级最高的一台计算机为需要执行所述状态判断步骤的计算机。
优选的,所述优先级参数根据网络中计算机的启动时间和地址信息生成。
优选的,所述执行同步控制的步骤还包括:
在网络中各计算机的运行信息表中,记录所述具有主控状态信息的计算机发出控制权请求消息的时间;
确定发出控制权请求消息的时间最早的计算机,或者,发出控制权请求消息的时间相同且优先级参数较高的计算机,为具有主控状态信息的计算机,将相应的其它计算机的运行状态信息转换为从属状态信息。
优选的,所述同步控制指令为同步控制操作指令,所述执行同步控制的步骤还包括:
依据所述同步控制操作指令判断所述接收指令的计算机的运行状态信息是否为主控状态信息;
若是,则在所述具有主控状态信息的计算机上执行所述指令,并生成相应的控制操作请求发送至对应的具有从属状态信息的计算机;
所述具有从属状态信息的计算机依据所述控制操作请求执行相应的操作。
优选的,所述的方法,还包括:
若所述具有主控状态信息的计算机在预设的时间阈值内未接收到同步控制指令,则将所述计算机的主控状态信息转换为对等状态信息,并发送控制权放弃消息至所述运行信息表中记录的具有从属状态信息的计算机;
所述具有从属状态信息的计算机依据所述控制权放弃消息,转换其运行状态信息为对等状态信息。
本发明实施例还公开了一种多计算机的同步控制系统,其特征在于,所述多台计算机通过网络连接,所述的系统包括:
运行信息表维护模块,用于在网络中的各台计算机上维护运行信息表,所述运行信息表中包括:网络中所有计算机的标识信息、以及对应计算机的运行状态信息;
指令接收处理模块,用于接收用户在网络中任一台计算机上输入的同步控制指令;
同步控制操作模块,用于在所述接收指令的计算机的运行状态信息符合预置规则时,对所述运行信息表中记录的计算机上执行所述同步控制操作。
优选的,所述运行状态信息包括对等状态信息、主控状态信息或从属状态信息。
优选的,所述同步控制指令为同步控制触发指令,所述同步控制操作模块包括:
对等状态判断子模块,用于依据所述同步控制触发指令判断所述接收指令的计算机的运行状态信息是否为对等状态信息;若是,则触发主控状态转换子模块;
主控状态转换子模块,用于将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
从属状态转换子模块,用于所述其它计算机接收所述控制权请求消息,将其运行状态信息转换为从属状态信息。
优选的,所述运行信息表中还包括:优先级参数,所述同步控制操作模块还包括:
第一优先级判断子模块,用于对比所述接收指令的计算机的优先级参数,选取优先级最高的一台计算机为需要执行所述状态判断步骤的计算机。
优选的,所述同步控制操作模块还包括:
时间记录子模块,用于在网络中各计算机的运行信息表中,记录所述具有主控状态信息的计算机发出控制权请求消息的时间;
第二优先级判断子模块,用于确定发出控制权请求消息的时间最早的计算机,或者,发出控制权请求消息的时间相同且优先级参数较高的计算机,为具有主控状态信息的计算机,将相应的其它计算机的运行状态信息转换为从属状态信息。
优选的,所述同步控制指令为同步控制操作指令,所述同步控制操作模块还包括:
主控状态判断子模块,用于依据所述同步控制操作指令判断所述接收指令的计算机的运行状态信息是否为主控状态信息;若是,则触发本机执行发送子模块;
本机执行发送子模块,用于在所述具有主控状态信息的计算机上执行所述指令,并生成相应的控制操作请求发送至对应的具有从属状态信息的计算机;
同步操作子模块,用于使所述具有从属状态信息的计算机依据所述控制操作请求执行相应的操作。
优选的,所述的系统,还包括:
状态更新模块,用于在所述具有主控状态信息的计算机在预设的时间阈值内未接收到同步控制指令时,将所述计算机的主控状态信息转换为对等状态信息,并发送控制权放弃消息至所述运行信息表中记录的具有从属状态信息的计算机;并使所述具有从属状态信息的计算机依据所述控制权放弃消息,转换其运行状态信息为对等状态信息。
本发明实施例还公开了一种多机多屏的3D同步显示方法,所述多台计算机通过网络连接,所述计算机的显示屏包括主窗口和子窗口,所述的方法包括:
依据进入网络连接的计算机的启动消息,在网络中连接的各台计算机上维护运行信息表;所述启动消息包括:3D对象信息和显示视角信息;所述运行信息表中包括:网络中所有计算机的IP地址及其运行状态信息;所述运行状态信息包括对等状态信息、主控状态信息或从属状态信息;
所述网络中的计算机上分别依据所述启动消息加载所述3D对象,并且,各台计算机在其主窗口中分别按照对应的显示视角信息绘制所述3D对象,同时,各台计算机分别生成子窗口,在子窗口中绘制网络中除本计算机外的其它计算机的、不同视角的3D对象;
接收用户在网络中任一台计算机上提交的3D对象触发指令;
若所述接收指令的计算机的运行状态信息为对等状态信息,则将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
所述其它计算机接收所述控制权请求消息,将其运行状态信息转换为从属状态信息;
接收用户在所述具有主控状态信息的计算机上提交的3D对象操作指令,并根据所述指令在当前计算机的主窗口和子窗口中分别更新所述3D对象的绘制;
依据所述更新绘制操作生成相应的操作请求发送至对应的具有从属状态信息的计算机,所述具有从属状态信息的计算机依据所述操作请求,分别在其对应的主窗口和子窗口中更新所述3D对象的绘制。
优选的,所述运行信息表中还包括:优先级参数,所述的方法还包括:
通过对比所述接收指令的计算机的优先级参数,选取优先级最高的一台计算机为需要执行所述状态判断步骤的计算机。
优选的,所述优先级参数根据网络中计算机的启动时间和地址信息生成。
优选的,所述的方法还包括:
在网络中各计算机的运行信息表中,记录所述具有主控状态信息的计算机发出控制权请求消息的时间;
确定发出控制权请求消息的时间最早的计算机,或者,发出控制权请求消息的时间相同且优先级参数较高的计算机,为具有主控状态信息的计算机,将相应的其它计算机的运行状态信息转换为从属状态信息。
本发明实施例还公开了一种多机多屏的3D同步显示系统,所述多台计算机通过网络连接,所述计算机的显示屏包括主窗口和子窗口,所述的系统包括:
运行信息表维护单元,用于依据进入网络连接的计算机的启动消息,在网络中连接的各台计算机上维护运行信息表;所述启动消息包括:3D对象信息和显示视角信息;所述运行信息表中包括:网络中所有计算机的IP地址及其运行状态信息;所述运行状态信息包括对等状态信息、主控状态信息或从属状态信息;
启动单元,用于在所述网络中的计算机上分别依据所述启动消息加载所述3D对象,并且,使各台计算机在其主窗口中分别按照对应的显示视角信息绘制所述3D对象,同时,各台计算机分别生成子窗口,在子窗口中绘制网络中除本计算机外的其它计算机的、不同视角的3D对象;
触发指令接收单元,用于接收用户在网络中任一台计算机上提交的3D对象触发指令;
主控状态转换单元,用于在所述接收指令的计算机的运行状态信息为对等状态信息时,将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
从属状态转换单元,用于在所述其它计算机接收所述控制权请求消息时,将其运行状态信息转换为从属状态信息;
操作指令接收单元,用于接收用户在所述具有主控状态信息的计算机上提交的3D对象操作指令;
主机绘制更新单元,用于根据所述操作指令在当前计算机的主窗口和子窗口中分别更新所述3D对象的绘制;
更新请求单元,用于依据所述更新绘制操作生成相应的操作请求发送至对应的具有从属状态信息的计算机;
从机绘制更新单元,用于使所述具有从属状态信息的计算机依据所述操作请求,分别在其对应的主窗口和子窗口中更新所述3D对象的绘制。
与现有技术相比,本发明具有以下优点:
首先,本发明在简单的对等计算机网络环境下,实现了多台计算机同步控制操作的处理。本发明通过在每一台计算机中维护运行信息表,动态地将系统中的计算机划分为不同的状态;通过简单有效的通信协议和明确的协议处理方法,实现了系统中各台计算机都可以自由地对被控对象实施无冲突的同步控制。应用本发明,系统中各计算机运行同一个软件,无须指定某一台计算机为特殊计算机,也无须指定某一台计算机必须处于不停机的运行状态,各计算机可以随时进入和退出系统。用户对控制对象的操作无须使用和控制操作不一致的额外命令,使用和操作方法简单,并有效地减少了系统开销和资源浪费、降低了成本、用户使用体验好。
再者,本发明针对实际中各种多计算机冲突的情形,通过判断优先级确定唯一主机执行相应操作,操作简单、无需额外资源和系统开销,使用户获得更好体验。
最后,本发明技术实现简单,无技术障碍,无特殊保密算法。
附图说明
图1是本发明的一种多计算机的同步控制方法实施例的流程图;
图2是本发明的一种多计算机的同步控制系统实施例的结构框图;
图3是基于本发明核心构思实现的一种多机多屏的3D同步显示方法实施例的流程图;
图4是本发明的一种多机多屏的3D同步显示系统实施例的结构框图;
图5是应用本发明的多机多屏3D同步显示系统的一个具体实例中的显示示意图1;
图6是应用本发明的多机多屏3D同步显示系统的一个具体实例中的显示示意图2;
图7是应用本发明的多机多屏3D同步显示系统的一个具体实例中的显示示意图3;
图8是应用本发明的多机多屏3D同步显示系统的一个具体实例中的显示示意图4;
图9是应用本发明的多机多屏3D同步显示系统的一个具体实例中的显示示意图5;
图10是应用本发明的多机多屏3D同步显示系统的一个具体实例中的显示示意图6;
图11是应用本发明的多机多屏3D同步显示系统的一个具体实例中的显示示意图7;
图12是应用本发明的多机多屏3D同步显示系统的一个具体实例中的显示示意图8;
图13是应用本发明的多机多屏3D同步显示系统的一个具体实例中的显示示意图9;
图14是应用本发明的多机多屏3D同步显示系统的一个具体实例中的显示示意图10;
图15是应用本发明的多机多屏3D同步显示系统的一个具体实例中的显示示意图11;
图16是应用本发明的多机多屏3D同步显示系统的一个具体实例中的显示示意图12。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明实施例的核心构思之一在于,在由网络连接的多台计算机上,针对每一台计算机维护一个运行信息表,该信息表包含所有计算机的相关信息,在用户对其中任一台计算机进行同步控制操作时,读取该台计算机上的运行信息表,根据操作指令与当前计算机的运行状态判断是否符合预置规则,在符合的条件下,发起同步控制操作。
参考图1,示出了本发明的一种多计算机的同步控制方法实施例的流程图,其中,所述多台计算机通过网络连接,具体可以包括以下步骤:
步骤101、在网络中的各台计算机上维护运行信息表;
所述运行信息表中可以包括:网络中所有计算机的标识信息、以及对应计算机的运行状态信息。
所谓网络,通俗地讲就是由多台计算机(或其它计算机网络设备)通过传输介质和软件物理(或逻辑)连接在一起组成的。总的来说计算机网络的组成基本上包括:计算机、网络操作系统、传输介质(可以是有形的,也可以是无形的,如无线网络的传输介质就是空气)以及相应的应用软件四部分。本发明主要涉及在应用软件方面作出的改进。在本发明中,所述网络可以为任一种网络,如局域网、城域网、广域网和互联网等,优选的,可以由以太网连接多台计算机。所述计算机标识信息则可以为网络地址信息。
在实际中,所述运行状态信息可以包括对等状态信息、主控状态信息或从属状态信息。即网络中计算机启动后所处的状态分分别为对等状态、主控状态和从属状态三种。网络中的计算机处于这三种状态中的一种,并且在特定时间下,只有一台计算机是处于主控状态,也就是说,在同一时刻下,不会存在多台主控状态的计算机。对此,本发明还提出了一种全新的冲突防范机制,将在下文相关部分进行说明。
维护运行信息表的操作具体可以包括以下几种情形:
一、网络中的某台计算机启动,将启动消息(如本机地址、启动时间等信息)以网络广播消息的方式,发送给网络中的其它计算机;网络上已启动的计算机响应该消息,并与该新启动的计算机建立连接,然后在所有启动的计算机上分别维护运行信息表。具体可以为:
通过计算机标识信息(如计算机的网络地址)判断运行信息表中是否已有当前计算机的记录,如果是,则生成新的信息表记录(如本机地址和启动时间),用这条新记录替换相应地址的原记录;如果否,则直接在运行信息表中添加所述新记录。
对于新进入网络中的计算机,可以通过读取网络中其它计算机的运行状态来确定本机的运行状态。例如,如果网络中的其它计算机都于对等状态,则设置本机的运行状态为对等状态;如果本机启动时,收到网络中其它计算机发出的控制权请求消息,则设置本机的运行状态为从属状态。
二、网络中的某台计算机退出,将退出消息以网络广播消息的方式,发送给网络中的其它计算机;网络上已启动的计算机响应该消息,并与该计算机断开连接,然后在启动的计算上分别维护运行信息表。具体可以为:
依据计算机标识信息删除运行信息表中请求退出的计算机的对应记录;如果该计算机退出前的运行状态为主控状态,则复位到对等状态。
三、根据实际中各计算机运行状态信息的转换实时更新所述运行信息表中相应计算机的运行状态信息。
例如,在执行同步控制过程中,相应计算从对等状态转换为主控状态,从对等状态转换为从属状态,或从主控状态转换为从属状态等;或者,在一段时间没有执行同步控制操作时,从主控状态或从属状态转换为对等状态等。
当然,本领域技术人员根据实际需要或经验采用任一种方式维护运行信息表都是可行的,上述方法仅仅用于示例,本发明对此不需要进行限定。
步骤102、接收用户在网络中任一台计算机上输入的同步控制指令;
所述同步控制指令可以包括同步控制触发指令和同步控制操作指令。可以理解的是,对于仅控制本地计算机机操作的非同步控制指令,则按照现有的计算机指令处理方式在本地计算机上处理即可,由于其偏离于本发明的核心构思,在此就不详述了。
步骤103、在所述接收指令的计算机的运行状态信息符合预置规则时,对所述运行信息表中记录的计算机上执行所述同步控制操作。
处理本步骤的核心构思之一在于,在对等状态下,先发起同步控制的计算机获得控制权,成为主机;其它计算机则成为从机,按主机的控制进行同步控制处理。对此,以下列举几种执行同步控制操作的方法来进一步说明。需要说明的是,本发明所述对等状态为具有对等状态信息,主控状态为具有主控状态信息,从属状态为具有从属状态信息;主机即对应具有主控状态信息的计算机,从机即对应具有从属状态信息的计算机,对等机即对应具有对等状态信息的计算机。
方法一:
如果接收到的同步控制指令为同步控制触发指令,则可以通过以下子步骤执行同步控制操作:
子步骤A1、依据所述同步控制触发指令判断所述接收指令的计算机的运行状态信息是否为对等状态信息;
子步骤A2、若是,则将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
子步骤A3、所述其它计算机接收所述控制权请求消息,将其运行状态信息转换为从属状态信息。
若当前计算机的运行状态信息不是对等状态信息,则可能是主控状态信息或从属状态信息。在实际中,如果是主控状态信息,则可以忽略同步控制触发指令,等待用户发出同步控制操作指令。如果是从属状态信息,也可以忽略该同步控制触发指令,并提示用户目前不能操作。当然,以上操作仅仅用于举例,本发明对此不作限制。
优选的,还可以在计算机的对等状态转换为主控状态时,启动转换延时计数器,用以判断所述主控状态的转换是否超时,如果是,则放弃当前计算机主控状态的转换。
方法二:
在对等状态下,可能出现两台或两台以上的计算机同时进行本地同步控制触发操作,此时将出现冲突。按照上述处理本步骤的核心构思,当出现冲突时,需要按照某种规则,仅使一台计算机成为主机。
具体而言,如果接收到的同步控制指令为同步控制触发指令,可以在运行信息表中添加优先级参数,通过以下子步骤执行同步控制操作:
子步骤B1、对比所述接收指令的计算机的优先级参数,选取优先级最高的一台计算机,判断该计算机的运行状态信息是否为对等状态信息;
子步骤B2、若是,则将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
子步骤B3、所述其它计算机接收所述控制权请求消息,将其运行状态信息转换为从属状态信息。
优选的,所述优先级参数可以根据网络中计算机的启动时间和地址信息生成。例如,对于启动时间在先的计算机,生成较高的优先级参数;若启动时间相同,则对网络地址大的计算机,生成较高的优先级参数。
方法三、
实际中另一种冲突的情形为,由于网络传输质量等引起的传输时间延迟,可能某一台先进行同步控制触发操作的计算机A的控制权请求消息到达另一台计算机B的时间,比计算机B开始同步控制触发操作的时间晚,则这两台计算机都会转换为主控状态信息,并向其它计算机发送控制权请求消息。
在这种情况下,可以通过以下子步骤执行同步控制操作:
子步骤C1、依据所述同步控制触发指令判断所述接收指令的计算机的运行状态信息是否为对等状态信息;
子步骤C2、若是,则将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
子步骤C3、所述其它计算机接收所述控制权请求消息,将其运行状态信息转换为从属状态信息;
子步骤C4、在网络中各计算机的运行信息表中,记录所述具有主控状态信息的计算机发出控制权请求消息的时间;
子步骤C5、确定发出控制权请求消息的时间最早的计算机,或者,发出控制权请求消息的时间相同且优先级参数较高的计算机,为具有主控状态信息的计算机,将相应的其它计算机的运行状态信息转换为从属状态信息。
例如,一种确定主机过程可以为:
记计算机响应本地同步控制触发指令的时间为T1,记接收到的控制权请求消息的时间(即发送该控制权请求消息的计算机响应本地同步控制触发指令的时间)为T2;
当T1<T2时,表示本地计算机触发同步控制操作的时间较早,则将本地计算机的运行状态信息转换为主控状态信息。
当T1>T2时,表示发送该控制权请求消息的远程计算机响应同步控制的时间较早,则将远程计算机的运行状态信息转换为主控状态信息,将本地计算机的运行状态信息转换为从属状态信息。
当T1=T2时,表示本地计算机响应同步控制触发操作的时间与发送该控制权请求消息的远程计算机响应同步控制触发操作的时间相同,则再比较两台计算机的优先级参数。如果本地计算机的优先级参数较高,则将本地计算机的运行状态信息转换为主控状态信息;如果远程计算机的优先级参数高,则将远程计算机的运行状态信息转换为主控状态信息,将本地计算机的运行状态信息转换为从属状态信息。
简而言之,对于方法二所示的冲突情形,相应的冲突防范机制为,使优先级最高的计算机获得控制权,成为主机(即获得主控状态信息),其它计算机就成为从机(即获得从属状态信息)。对于方法三所示的冲突情形,相应的冲突防范机制为,每台计算机在对等状态下收到本机用户的同步控制触发操作时,记录该时刻的时间,并在发送给其它计算机的控制权请求消息中包含该时间。某台处于对等状态的计算机接收到多个控制权请求消息时,或某台主机收到其它计算机的控制权请求消息时,通过比较各控制权请求消息的时间,确定成为主机的计算机。
在实际中,从机的冲突防范处理方法同样可以参照以上方法。可以理解,本地计算机之所以成为从机,是因为它先响应了网络上某台计算机发送的控制权请求消息。产生冲突的消息来源只有一种情况:网络上另一台计算机发送的控制权请求消息。因此处理冲突的方法可以按照方法三相同的原理比较当前主机和控制权请求消息的主机响应同步控制触发操作的时间和优先级,确定新的主机。若比较的结果是当前主机还是主机,则本地计算机仍为当前主机的从机,放弃收到的控制权请求信息。若比较的结果是发出控制权请求消息的主机应该成为主机,则处理的方法是本地计算机成为该主机的从机,并用该主机的信息替换当前主机的信息。
相应地,对等机的冲突防范处理方法也可以参照以上方法。处于对等状态的计算机收到冲突的消息只有一种情况:同时收到网络上一台以上的计算机同发送的控制权请求消息。因此处理冲突的方法可以按照方法三相同的原理比较这些控制权请求消息响应同步控制触发操作的时间和发送消息计算机的优先级,从而确定新的主机。
方法四、
在执行所述同步触发操作后,通常会进一步执行同步控制操作,用户在网络中任一台计算机上输入同步控制操作指令,则相应的同步控制操作可以包括以下子步骤:
子步骤D1、依据所述同步控制操作指令判断所述接收指令的计算机的运行状态信息是否为主控状态信息;
子步骤D2、若是,则在所述具有主控状态信息的计算机上执行所述指令,并生成相应的控制操作请求发送至对应的具有从属状态信息的计算机;
子步骤D3、所述具有从属状态信息的计算机依据所述控制操作请求执行相应的操作。
若当前计算机的运行状态信息不是主机状态信息,则只可能是从属状态信息。在这种情况下,可以向用户返回出错信息。
本领域技术人员易于想到上述方法一——方法四相关步骤的组合应用,都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在本发明实施例中,还可以包括步骤:
若所述具有主控状态信息的计算机在预设的时间阈值内未接收到同步控制指令,则将所述计算机的主控状态信息转换为对等状态信息,并发送控制权放弃消息至所述运行信息表中记录的具有从属状态信息的计算机;
所述具有从属状态信息的计算机依据所述控制权放弃消息,转换其运行状态信息为对等状态信息。
例如,一种运行本发明应用软件的过程大致可以包括如下步骤:
步骤S1:在软件开始运行时执行系统组成检测,它将本机IP地址、启动时间等启动消息以网络广播消息的方式发送给网络中的其它计算机;
步骤S2:系统运行信息表维护处理。接收系统中其它计算机步骤S1和步骤S4的消息并进行相应的处理。
对于步骤S1的启动消息,如果系统运行信息表中没有发送该消息计算机的IP地址,则用该信息的IP地址和启动时间生成一个新的信息表项;如果系统运行信息表中存在发送该消息计算机的IP地址,则用该信息的IP地址和启动时间替换该信息表中对应项的内容,为该表项(对应于发送该消息的计算机)分配新的优先级。然后向发送该消息的计算机回送启动应答消息。
对于步骤S4的退出消息,如果系统信息运行表中存在该消息的IP地址,删除系统信息运行表中的对应项,断开与该计算机的连接,如果发送该消息的计算机还是主控计算机,则复位主控计算机状态,本机转入对等状态;如果系统运行信息表中没有该消息的IP地址,则丢弃该消息。
步骤S3:接受本地用户输入的同步控制指令,对于非同步操作指令、同步控制触发指令和同步控制操作指令三种,分别做如下不同处理:
对于非同步操作指令,转到步骤S4;
对于同步控制触发指令,如果本机处于对等状态,则将本机转入主控状态,启动主控状态转换延时计数器,生成控制权请求消息(该消息包括本机IP地址和本机收到该操作的时间)并向各计算机发送该消息,再转到步骤S6。如果本机处于主控状态,则复位状态转换定时器,再转到步骤S5。如果本机处于从属状态,则放弃该操作,再转到步骤S5。
对于同步控制操作指令,如果本机处于主控状态,则向其它计算机发送同步控制消息,复位状态转换定时器,到步骤S6。如果本机处于从属状态,则放弃该操作,到步骤S5。
步骤S4:用户非同步操作指令的处理。
如果用户的操作是退出系统命令,则向系统各计算机发送本机退出消息,然后退出程序。如果是非退出系统命令,则执行这些命令,到步骤S5。
步骤S5:接收来自系统中其它计算机(步骤S3)的控制消息,并按控制权请求消息、同步控制消息和控制权放弃消息分别做如下不同的处理:
(1)控制权请求消息:
A、本机处于对等状态时的处理:收到其它单个计算机的控制权请求消息时,本机进入从属状态,发送消息的计算机为主控计算机,保存主机控制权请求消息的时间与主机的优先级;同时收到其它多个计算机的控制权请求消息时,对这些控制权请求消息的时间和优先级参数进行冲突判断,方法是:比较计算机控制权请求消息的时间,如果控制权请求的时间不同,则时间早的计算机将成为主机;如果控制权请求的时间相同,则优先级高的计算机将成为主机。确定主机后,保存主机控制权请求消息的时间与主机的优先级。到步骤S2。
B、本机处于主控状态时的处理:将控制权请求消息的时间和优先级参数与本主机的对应参数进行冲突判断,确定新的主机(方法同本步骤A中所述),保存主机控制权请求消息的时间与主机的优先级,如果新主机不是本机,则本机转入从属状态,关闭主控状态转换延时计数器。到步骤S2。
C、本机处于从属状态时的处理:将控制权请求消息的同步控制时间和优先级参数与当前主机的对应参数进行冲突判断(方法同本步骤A中所述),确定新的主机,保存新主机控制权请求消息的时间与新主机的优先级,本机仍为从属状态。到步骤S2。
(2)同步操作消息:仅处于从属状态的计算机会收到同步操作消息,从同步操作消息中提取同步控制命令,到步骤S6。
(3)控制权放弃消息:仅处于从属状态的计算机会收到控制权放弃消息,清除主机控制权请求消息的时间与主机的优先级,本机转入对等状态。到步骤S2。
步骤S6:用户同步操作指令的处理。将来自步骤S3的本地用户同步控制命令和来自步骤S5的同步控制消息命令转化为控制操作,实现对本地计算机的同步操作处理。到步骤S7。
步骤S7:主控状态退出消息处理。如果本机处于对等状态或从属状态,则到步骤S2。否则,判断主控状态转换延时计数器是否超时,如果超时,则将本机转入对等状态,关闭主控状态转换延时计数器,并向系统中其它计算机发送控制权放弃消息。到步骤S2。
可以看出,本发明在简单的对等计算机网络环境下,实现了多台计算机同步控制操作的过程。通过在每一台计算机中设置运行信息表,动态地将系统中的计算机划分为不同的状态;通过简单有效的通信协议和明确的协议处理方法,实现了系统中各台计算机都可以自由地对被控对象实施无冲突的同步控制。因而本发明可以使系统中各计算机运行同一个软件,无须指定某一台计算机为特殊计算机,也无须指定某一台计算机必须处于不停机的运行状态,各计算机可以随时进入和退出系统。用户对控制对象的操作无须使用和控制操作不一致的额外命令,使用和操作方法简单。
参考图2,示出了本发明的一种多计算机的同步控制系统实施例的结构框图,所述多台计算机通过网络连接,所述的系统可以包括:
运行信息表维护模块201,用于在网络中的各台计算机上维护运行信息表,所述运行信息表中包括:网络中所有计算机的标识信息、以及对应计算机的运行状态信息;
指令接收处理模块202,用于接收用户在网络中任一台计算机上输入的同步控制指令;
同步控制操作模块203,用于在所述接收指令的计算机的运行状态信息符合预置规则时,对所述运行信息表中记录的计算机上执行所述同步控制操作。
优选的,所述运行状态信息可以包括对等状态信息、主控状态信息或从属状态信息。
本发明的一种实施例为,所述同步控制指令为同步控制触发指令,所述同步控制操作模块可以包括:
对等状态判断子模块,用于依据所述同步控制触发指令判断所述接收指令的计算机的运行状态信息是否为对等状态信息;若是,则触发主控状态转换子模块;
主控状态转换子模块,用于将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
从属状态转换子模块,用于所述其它计算机接收所述控制权请求消息,将其运行状态信息转换为从属状态信息。
本发明的另一种实施例为,所述运行信息表中还可以包括:优先级参数,所述接收指令的计算机为多个同时接收指令的计算机,所述同步控制操作模块包括:
第一优先级判断子模块,用于对比所述接收指令的计算机的优先级参数,选取优先级最高的一台计算机为需要执行所述状态判断步骤的计算机;
对等状态判断子模块,用于依据所述同步控制触发指令判断所述接收指令的计算机的运行状态信息是否为对等状态信息;若是,则触发主控状态转换子模块;
主控状态转换子模块,用于将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
从属状态转换子模块,用于所述其它计算机接收所述控制权请求消息,将其运行状态信息转换为从属状态信息。
本发明的另一种实施例为,所述同步控制操作模块可以包括:
对等状态判断子模块,用于依据所述同步控制触发指令判断所述接收指令的计算机的运行状态信息是否为对等状态信息;若是,则触发主控状态转换子模块;
主控状态转换子模块,用于将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
从属状态转换子模块,用于所述其它计算机接收所述控制权请求消息,将其运行状态信息转换为从属状态信息;
时间记录子模块,用于在网络中各计算机的运行信息表中,记录所述具有主控状态信息的计算机发出控制权请求消息的时间;
第二优先级判断子模块,用于确定发出控制权请求消息的时间最早的计算机,或者,发出控制权请求消息的时间相同且优先级参数较高的计算机,为具有主控状态信息的计算机,将相应的其它计算机的运行状态信息转换为从属状态信息。
本实施例中,所述同步控制指令为同步控制操作指令时,所述同步控制操作模块还可以包括:
主控状态判断子模块,用于依据所述同步控制操作指令判断所述接收指令的计算机的运行状态信息是否为主控状态信息;若是,则触发本机执行发送子模块;
本机执行发送子模块,用于在所述具有主控状态信息的计算机上执行所述指令,并生成相应的控制操作请求发送至对应的具有从属状态信息的计算机;
同步操作子模块,用于使所述具有从属状态信息的计算机依据所述控制操作请求执行相应的操作。
优选的,本发明实施例还可以包括:
状态更新模块,用于在所述具有主控状态信息的计算机在预设的时间阈值内未接收到同步控制指令时,将所述计算机的主控状态信息转换为对等状态信息,并发送控制权放弃消息至所述运行信息表中记录的具有从属状态信息的计算机;并使所述具有从属状态信息的计算机依据所述控制权放弃消息,转换其运行状态信息为对等状态信息。
由于图2所示的系统实施例可以相应于图1所示的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
科学计算可视化,是上世纪80年代后期随着计算机技术的迅速发展而出现的一门新兴技术,它通过把各种复杂的数据转换成直观的图形或图像,以方便人们正确理解数据或过程的含义。它的主要目的是更加有效地处理和分析越来越多的科学和工程数据,为科研和工程人员提供一个有效、直观地探索和研究客观世界的工具。科学计算可视化发展的初期,计算机硬件的成本较高,而且性能有限。当时的可视化技术主要集中在高分辨率、大视野显示技术的研究上。在这一阶段,国外公司依靠其先进的硬件制造技术,研发了高档专用的可视化系统,这类系统配备着专用软件,在当时提供了无以伦比的显示性能,但系统价格昂贵,远没有达到普及应用的地步。随着计算机技术的发展,其硬件成本的不断降低和性能的不断提高为科学计算可视化的发展提供了巨大的推动力。
可视化技术的高层次应用主要涉及多机多屏的3D同步显示,目前已经广泛应用于分布式产品同步浏览、基于网络的远程故障分析、医疗会诊等领域。简而言之,这种多机多屏的3D同步显示技术就是用于实现,在由网络连接的多台计算机上,对同一3D对象进行同步显示控制。
参考图3,示出了基于本发明核心构思实现的一种多机多屏的3D同步显示方法实施例的流程图,所述多台计算机通过网络连接,所述计算机的显示屏可以包括主窗口和子窗口,本实施例可以包括以下步骤:
步骤301、依据进入网络连接的计算机的启动消息,在网络中连接的各台计算机上维护运行信息表;
其中,所述启动消息包括:3D对象信息和显示视角信息;所述运行信息表中包括:网络中所有计算机的IP地址及其运行状态信息;所述运行状态信息包括对等状态信息、主控状态信息或从属状态信息;
步骤302、所述网络中的计算机上分别依据所述启动消息加载所述3D对象,并且,各台计算机在其主窗口中分别按照对应的显示视角信息绘制所述3D对象,同时,各台计算机分别生成子窗口,在子窗口中绘制网络中除本计算机外的其它计算机的、不同视角的3D对象;
步骤303、接收用户在网络中任一台计算机上提交的3D对象触发指令;
步骤304、若所述接收指令的计算机的运行状态信息为对等状态信息,则将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
步骤305、所述其它计算机接收所述控制权请求消息,将其运行状态信息转换为从属状态信息;
步骤306、接收用户在所述具有主控状态信息的计算机上提交的3D对象操作指令,并根据所述指令在当前计算机的主窗口和子窗口中分别更新所述3D对象的绘制;
步骤307、依据所述更新绘制操作生成相应的操作请求发送至对应的具有从属状态信息的计算机,所述具有从属状态信息的计算机依据所述操作请求,分别在其对应的主窗口和子窗口中更新所述3D对象的绘制。
在对等状态下,先进行同步控制的计算机获得控制权,成为主机;其它的计算机则成为从机并按主机的控制进行同步控制处理。然而在对等状态下,可能出现两台或两台以上的计算机同时进行本地同步控制触发操作,此时将出现冲突。为避免出现冲突,使一台计算机成为主机,本实施例还可以在所述运行信息表中设置优先级参数,则一种冲突防范的方法可以为在本实施例中增加步骤:
通过对比所述接收指令的计算机的优先级参数,选取优先级最高的一台计算机为需要执行所述状态判断步骤的计算机。
关于本步骤的描述可以参见前述多计算机同步控制方法实施例中的方法二,在此就不详述了。
优选的,所述优先级参数根据网络中计算机的启动时间和地址信息生成。
在实际中,另一种冲突防范的方法可以为在本实施例中增加步骤:
在网络中各计算机的运行信息表中,记录所述具有主控状态信息的计算机发出控制权请求消息的时间;
确定发出控制权请求消息的时间最早的计算机,或者,发出控制权请求消息的时间相同且优先级参数较高的计算机,为具有主控状态信息的计算机,将相应的其它计算机的运行状态信息转换为从属状态信息。
关于本步骤的描述可以参见前述多计算机同步控制方法实施例中的方法三,在此就不详述了。
在实际中,本实施例可以运行在通过以太网连接的高性能PC计算机上,用以实现在各计算机上按不同的视角同步显示同一个3D数据模型,用户可以在其中任意一台计算机上进行3D对象的装入和浏览操作,其它计算机受该计算机控制,同步完成对同一个3D对象的装入和浏览操作的功能。
本实施例的运行状态信息分别标识计算机的三种不同状态,分别是:对等状态、主控状态和从属状态。当某台计算机处于这三种状态之一时,分别可以称之为对等机、主机和从机。在某一特定时刻,某台计算机只可能处于三种状态中的一种,且只能有一台计算机是主机。
网络中的计算机可以由其唯一的IP地址互相区分,且每台计算机都有不同的优先级,每台计算机的优先级也是唯一的。
通常,对3D对象的浏览操作方法包括:
旋转操作:在非平移状态下,按下鼠标左键,并向不同方向拖动鼠标。
平移操作:在平移状态下,按下鼠标左键,并向不同方向拖动鼠标。
放大操作:鼠标中键向后滚动。
缩小操作:鼠标中键向前滚动。
显示复位操作:单击鼠标右键(所显示的对象将恢复初始装入时的显示位置)。
装入3D对象数据:打开指定的3DS数据文件。
基于以上操作,可以将用户对计算机的控制操作分为同步控制触发操作、同步控制操作和非同步控制操作三类。同步控制触发操作可以包括:装入3D对象数据、开始对已装入的3D对象的旋转、平移、放缩和显示复位等;同步控制操作可以包括:对已装入的3D对象的旋转、平移、放缩操作;非同步控制操作可以包括:设置本计算机显示的背景颜色、改变本计算机的显示视角等。同步控制操作是各个计算机要同时同步进行的处理;同步控制触发操作是用户在某台处于对等状态的计算机上将要进行同步操作的操作,同步控制触发操作将有可能使该计算机由对等机变为主机;非同步操作则是某台计算机自己进行的处理。
以下对各个状态下的计算机指令操作过程进行说明:
一、对等状态:
软件启动时,如果网络中的计算机都处于对等状态时,则本计算机也将处于对等状态。
在对等状态下,如果用户在计算机上进行中以下同步控制触发操作,则该计算机将成为主机。同步控制触发操作可以包括以下系统消息:
●鼠标左键按下消息
●鼠标右键按下消息
●鼠标中键滑动消息
●装入3DS文件的菜单消息
当计算机成为主机后,给网络内的其它计算机发送控制权请求消息。控制权请求消息的内容包括本机响应同步控制触发操作的时间以及本机的优先级。其它计算机收到控制权请求消息后即由对等状态转换为从属状态,并保存收到控制权请求消息的时间和主机的优先级,用以进行冲突判断。
在对等状态下对各种消息的处理方法和状态转换操作具体可以为:
(1)收到本机用户的同步控制触发操作。
处理:本机进入主控状态;向其它计算机发送控制权请求消息。
(2)收到其它计算机的控制权请求消息。
处理:收到其它单个计算机的控制权请求消息时,本机进入从属状态,保存主机控制权请求消息的时间与主机的优先级。同时收到其它多个计算机的控制权请求消息时,对这些控制权请求消息的同步控制时间和优先级参数进行冲突判断,确定主机,保存主机控制权请求消息的时间与主机的优先级。
(3)收到其它计算机的启动消息。
处理:给该计算机发送控制权请求消息,本机保持对等状态。
(4)收到其它计算机的退出消息。
处理:断开与该计算机的连接,本机保持对等状态。
二、主控状态:
一台计算机成为主机后,用户就可以在该计算机上进行同步控制操作。在进行同步控制操作的同时,主机通过网络将控制信息发送给各从机。各从机响应同步控制消息,并按消息进行相应的同步控制处理,从而实现同步浏览功能。
用户停止同步控制操作时,主机可以启动一个状态转换定时器开始定时。同步控制操作可以包括以下系统消息:
●旋转浏览过程中:鼠标左键松开消息
●平移浏览过程中:鼠标左键松开消息
●放缩浏览过程中:鼠标中键停止滑动消息
●显示复位时:鼠标右键松开消息
●装入3DS文件过程中:成功打开并读入3DS文件后如果状态转换时间到(通常为0.5秒),主机将退出主控状态,进入对等状态,并给各从机发送控制权放弃信息。各从机收到控制权放弃消息后,将保存的主机控制权请求消息的时间与主机的优先级丢弃。
如果在状态转换定时时间内,用户再次进行同步控制触发操作,则主机将状态转换定时器复位,进行相应的同步控制处理,并将控制信息发送给各从机。主机继续保持在主控状态。
在主控状态下对各种消息的处理方法和状态转换操作具体可以为:
(1)收到本机用户的同步控制触发操作和同步控制操作。
处理:进行相应的同步控制处理,向各从机发送同步控制消息,复位状态转换定时器。
(2)状态转换定时器时间到。
处理:向各从机发送控制权放弃信息,退出主控状态,进入对等状态。
(3)收到其它计算机的控制权请求消息。
处理:将控制权请求消息的同步控制时间和优先级参数与本主机的对应参数进行冲突判断,确定新的主机并进行相应的冲突防范处理。(所述冲突防范处理的方法可以参见前述多计算机同步控制实施例中方法二和方法三的相关描述,本发明在此不赘述。)
(4)收到其它计算机的程序启动消息。
处理:给该计算机发送控制权请求消息,本机保持主控状态。
(5)收到其它计算机的退出消息。
处理:断开与该计算机的连接,本机保持主控状态。
三、从属状态:
某计算机启动本软件时,网络有的其它计算机都会给该计算机发送初始化消息,如果网上已有主机,则本机将成为从机。本机还会根据收到的初始化消息确定其优先级和显示3D模型的视角。一台处于对等状态的计算机收到控制权请求消息后,也进入从属状态,成为从机。
从机响应主机发出的同步控制命令,控制本机进行与主机相同的同步控制处理。从机不会响应本机用户的同步控制触发操作。当从机收到主机的控制权放弃消息时,将保存的主机控制权请求时间和主机优先级丢弃,然后进入对等状态。
从机可以响应本机用户的非同步控制操作,并进行相应的处理。
在从属状态下对各种消息的处理方法和状态转换操作具体可以为:
(1)收到本机用户的同步控制触发操作和同步控制操作。
处理:不处理,保持在从属状态。
(2)收到其它计算机的控制权请求消息。
处理:将控制权请求消息的同步控制时间和优先级参数与当前主机的对应参数进行冲突判断,决定新的主机并进行相应的处理,本机仍为从属状态。(所述冲突防范处理的方法可以参见前述多计算机同步控制实施例中方法二和方法三的相关描述,本发明在此不赘述。)
(3)收到其它计算机的控制权放弃消息。
处理:丢弃当前主机控制权请求消息的时间与主机的优先级,进入对等状态。
(4)收到其它计算机的程序启动消息。
处理:给该计算机发送控制权请求消息,本机保持从属状态。
(5)收到其它计算机的退出消息。
处理:断开与该计算机的连接,本机保持从属状态。
在实施例中,依据用户提交的同步控制操作指令进行的3D对象绘制可以采用OpenGL绘制的方法实现,OpenGL的英文全称是“Open GraphicsLibrary”,顾名思义,OpenGL便是“开放的图形程序接口”,OpenGL是由多家大计算机公司共同制定的一种开放式三维图形开发标准,是目前较为完善的三维图形标准。OpenGL是一个与硬件无关的接口,它独立于窗口系统、操作系统和硬件系统,可以应用于多种不同的硬件平台。OpenGL还可应用于各种网络环境,在客户端运行和发布OpenGL命令,在服务器端接收并且执行命令。OpenGL作为一个图形硬件的软件接口,拥有多个不同的函数,利用这些函数可以创建各种二维和三维物体原形并对物体进行各种操作,包括对物体形状的描述、模型变换、视点变换、坐标变换、光效果处理、颜色设定、纹理支持、裁剪、位图处理、反走样及各种增强效果处理等。
例如,一种OpenGL的绘制过程可以包括:
步骤E1、针对所述显示窗口创建设备上下文;
步骤E2、依据所述设备上下文生成OpenGL渲染上下文;
步骤E3、关联所述OpenGL渲染上下文与设备上下文;
步骤E4、将用户输入的指令解析成所述为OpenGL上下文环境下的绘制命令;
步骤E5、根据所述绘制命令依次完成各个显示窗口的绘制。
步骤E6、确定绘制的目标显示窗口,将所述显示窗口的OpenGL上下文环境设置为当前OpenGL上下文环境;
步骤E7、在当前OpenGL上下文环境执行所述绘制命令,完成绘制;
步骤E8、释放所述OpenGL上下文环境;
步骤E9、触发下一个绘制的目标显示窗口(如子窗口)。
即首先获得设备上下文,再利用一个OpenGL函数wglCreateContext从所述设备上下文生成一个OpenGL的渲染上下文(Render Context)hGLRC;然后调用wglMakeCurrent把生成的渲染上下文hGLRC跟设备上下文hDC关联起来。
例如,针对主窗口和子窗口分别创建OpenGL设备环境。其中,主窗口OpenGL的显示处理可以在SDI应用程序框架的基础上实现,主窗口OpenGL的初始化处理可以放在SDI视窗类的OnCreate()函数中进行,包括诸如建立所需的像素格式、得到指定设备环境的象素模式索引值,以及据此声明一个象素模式等处理;然后,通过wglCreateContext()函数,依据本窗口关联的设备上下文创建一个OpenGL的渲染上下文,并用wglMakeCurrent()函数把生成的OpenGL渲染上下文跟设备上下文关联起来,将主窗口(主窗口3D显示)的上下文环境设置为当前OpenGL的上下文环境。
子窗口的3D显示则可以通过将之前创建的无模态对话框对应的窗口分别与新创建的OpenGL渲染上下文关联实现。各子窗口OpenGL的初始化过程与上述主窗口的初始化过程类似,只是应放在各对话框的OnCreate()函数中进行。
一旦接收到用户输入的指令,如,用户通过各种输入设备输入的浏览指令,则将这些指令解析成所述三维显示上下文环境下的绘制命令。例如,用户在不同浏览模式下进行鼠标移动操作,系统接收到用户的鼠标移动指令后,则根据当前浏览模式,设置OpenGL的绘制参数,然后发出更新绘制的消息。
例如,基于主窗口与子窗口的OpenGL上下文环境,则主窗口的绘制可以在OnDraw()函数中进行,子窗口的绘制可以在各自的OnPaint()函数中进行。每个窗口的绘制开始时,可以先用函数wglMakeCurrent(Hdc,hrc)使该窗口拥有OpenGL上下文环境,其中Hdc为当前窗口的设备上下文句柄,hrc是由函数wglCreateContext(Hdc)创建的适合本窗口的OpenGL绘制上下文句柄。在完成本窗口所有的OpenGL绘制后,还可以用函数wglMakeCurrent(NULL,NULL)释放OpenGL上下文环境。
主窗口绘制完成后,则利用SendMessage向第一个子窗口发送绘制消息,每一个子窗口收到绘制消息之后,进行与主窗口类似的绘制过程,子窗口绘制完成后,再向下一个子窗口发送绘制消息,以此类推。
最后一个子窗口绘制完成后,利用SendMessage向主窗口发送绘制完成消息。如果此时绘制过程没有结束,则由主窗口启动下一轮绘制;如果绘制过程结束,则主窗口不再进行新的绘制,系统回到等待接收用户指令的状态。
当然,本领域技术人员根据经验或需要采用任一种绘制方法都是可行的,本发明对此不需要进行限定。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参考图4,示出了本发明的一种多机多屏的3D同步显示系统实施例的结构框图,所述多台计算机通过网络连接,所述计算机的显示屏包括主窗口和子窗口,所述的系统可以包括以下单元:
运行信息表维护单元401,用于依据进入网络连接的计算机的启动消息,在网络中连接的各台计算机上维护运行信息表;
其中,所述启动消息包括:3D对象信息和显示视角信息;所述运行信息表中包括:网络中所有计算机的IP地址及其运行状态信息;所述运行状态信息包括对等状态信息、主控状态信息或从属状态信息;
启动单元402,用于在所述网络中的计算机上分别依据所述启动消息加载所述3D对象,并且,使各台计算机在其主窗口中分别按照对应的显示视角信息绘制所述3D对象,同时,各台计算机分别生成子窗口,在子窗口中绘制网络中除本计算机外的其它计算机的、不同视角的3D对象;
触发指令接收单元403,用于接收用户在网络中任一台计算机上提交的3D对象触发指令;
主控状态转换单元404,用于在所述接收指令的计算机的运行状态信息为对等状态信息时,将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
从属状态转换单元405,用于在所述其它计算机接收所述控制权请求消息时,将其运行状态信息转换为从属状态信息;
操作指令接收单元406,用于接收用户在所述具有主控状态信息的计算机上提交的3D对象操作指令;
主机绘制更新单元407,用于根据所述操作指令在当前计算机的主窗口和子窗口中分别更新所述3D对象的绘制;
更新请求单元408,用于依据所述更新绘制操作生成相应的操作请求发送至对应的具有从属状态信息的计算机;
从机绘制更新单元409,用于使所述具有从属状态信息的计算机依据所述操作请求,分别在其对应的主窗口和子窗口中更新所述3D对象的绘制。
优选的,所述运行信息表中还可以包括优先级参数,本实施例还可以包括第一优先级判断单元:用于通过对比所述接收指令的计算机的优先级参数,选取优先级最高的一台计算机为需要执行所述状态判断步骤的计算机。
其中,所述优先级参数可以根据网络中计算机的启动时间和地址信息生成。
优选的,在本实施例中,还可以包括以下单元:
时间记录单元,用于在网络中各计算机的运行信息表中,记录所述具有主控状态信息的计算机发出控制权请求消息的时间;
第二优先级判断单元,用于确定发出控制权请求消息的时间最早的计算机,或者,发出控制权请求消息的时间相同且优先级参数较高的计算机,为具有主控状态信息的计算机,将相应的其它计算机的运行状态信息转换为从属状态信息。
以下以一种具体的多机多屏3D同步显示操作过程为例进一步说明本发明。
一、启动处理过程:
1)启动时没有其它计算机已启动的信息:保持显示为空,等待用户打开3D对象再按默认的视角显示。
假设网络中有ABC三台计算机要运行本系统,每一台计算机的显示区域分布:右边占屏幕宽一定比例(如1/5)的区域为子窗口区,用于显示系统上已经运行的计算机显示的屏幕,左边为本机的3D显示区域。
运行本步骤,A计算机先运行并打开一个3D对象,没有收到其它计算机的运行消息,因此子窗口为空,此时,A计算机的显示示意图如图5所示,A计算机的主窗口显示3D对象的正视图,没有子窗口。。
2)启动时收到其它计算机的启动消息:打开启动消息指定的3D对象,并按本地默认的视角显示;同时创建对应于已启动计算机的子窗口,并在子窗口中按已启动计算机的视角显示3D对象;如果已启动的计算机没有打开3D对象,则保持主显示窗口和子窗口的显示为空。
即如果B计算机运行本系统,收到A计算机的应答消息,自动装入A打开的3D对象,并按默认的视角显示之,同时绘制一个与A计算机对应的子窗口,此时,B计算机的显示示意图如图6所示,B计算机的主窗口显示3D对象的左侧视图,有一个子窗口显示A计算机主窗口对应的正视图。在这种情况下,A收到B的启动消息,按该消息绘制一个与B计算机对应的子窗口,此时,A计算机的显示示意图如图7所示,A计算机的主窗口显示3D对象的正视图,有一个子窗口显示B计算机主窗口对应的左侧视图。从图中可以看出,A计算机和B计算机各自的子窗口为一个,每台计算机上的3D显示视角是不同的。
3)启动后收到其它计算机的启动信息:从该计算机的启动信息中获得其视角,创建新的子窗口。如果系统已打开3D对象,则在该子窗口按该计算机的视角显示3D对象;否则保持子窗口的显示为空。
基于上述A、B计算机已启动的情形,如果还有C计算机启动运行本系统,则C计算机同样载入相应的3D对象,并按本地默认的视角显示;同时创建对应于A、B计算机的两个子窗口,并在子窗口中分别按A、B计算机的视角显示3D对象,此时,C计算机的显示示意图如图8所示,C计算机的主窗口显示3D对象的后视图,有两个子窗口,第一个子窗口显示A计算机主窗口对应的正视图,第二个子窗口显示B计算机主窗口对应的左侧视图;同时,A、B计算机分别针创建对应该C计算机的显示视角的子窗口,此时,A计算机的显示示意图如图9所示,A计算机的主窗口显示3D对象的正视图,有两个子窗口,第一个子窗口显示B计算机主窗口对应的左侧视图,第二个子窗口显示C计算机主窗口对应的后视图;B计算机的显示示意图如图10所示,B计算机的主窗口显示3D对象的左侧视图,有两个子窗口,第一个子窗口显示A计算机主窗口对应的正视图,第二个子窗口显示C计算机主窗口对应的后视图。
二、对等机绘制过程:
1)收到本地用户的同步控制触发操作:本机进入主机状态,向其它计算机发送同步控制触发指令。
2)收到其它计算机的同步控制触发指令:本机进入从机状态。
三、主机绘制过程:
1)收到本地用户的同步控制启动操作:忽略该操作。(之前的同步控制启动操作已经向其它计算机发送了同步控制触发指令,且本机已进入主机状态,其它计算机已进入从机状态。)
2)收到本地用户的同步控制操作:按同步控制操作的变换设置OpenGL的显示参数,更新OpenGL的3D显示,并按本次变换操作的参数生成同步控制指令,发送给系统中的其它计算机。
四、从机绘制过程:
1)收到本地用户的同步控制启动操作:忽略该操作并提醒用户,当前不能进行同步操作。
2)收到本地用户的同步控制操作:忽略该操作并提醒用户,当前不能进行同步操作。
3)收到当前主机的同步控制指令:按指令所含的控制方式和控制参数及本地显示视角设置OpneGL的显示参数,更新OpenGL的显示;或打开指令指定的3D对象数据再按指定的参数和本地视角显示。
例如,假设A计算机作为主机控制3D对象向前旋转一个角度,B计算机和C计算机作为从机按同一个方向和角度对3D对象进行旋转,此时,A计算机的显示示意图如图11所示,A计算机的主窗口显示向前旋转的3D对象的正顶视图,有两个子窗口,第一个子窗口显示B计算机主窗口对应的顺时针旋转的3D对象的左侧视图,第二个子窗口显示C计算机主窗口对应的向前旋转的3D对象的后底视图。
B计算机的显示示意图如图12所示,B计算机的主窗口显示顺时针旋转的3D对象的左侧视图,有两个子窗口,第一个子窗口显示A计算机主窗口对应的向前旋转的3D对象的正顶视图,第二个子窗口显示C计算机主窗口对应的向前旋转的3D对象的后底视图。
C计算机的显示示意图如图13所示,C计算机的主窗口显示向前旋转的3D对象的后底视图,有两个子窗口,第一个子窗口显示A计算机主窗口对应的向前旋转的3D对象的正视图,第二个子窗口显示B计算机主窗口对应的顺时针旋转的3D对象的左侧视图。
可以理解的是,已经启动的任一台运行本系统的计算机退出程序,则其它计算机与之对应的子窗口将消失。
假设上述A计算机退出本系统,则B计算机的显示示意图如图14所示,B计算机的主窗口显示顺时针旋转的3D对象的左侧视图,有一个子窗口,显示C计算机主窗口对应的向前旋转的3D对象的后底视图。C计算机的显示示意图如图15所示,C计算机的主窗口显示向前旋转的3D对象的后底视图,有一个子窗口,显示B计算机主窗口对应的顺时针旋转的3D对象的左侧视图。
如果此时B计算机也退出本系统,则C计算机的显示示意图如图16所示,C计算机的主窗口显示向前旋转的3D对象的后底视图,没有子窗口。
其中,OpenGL的绘制过程具体可以包括:
步骤F1、创建OpenGL显示设备并和当前显示窗口关联。如果有子窗口存在,还要为每一个子窗口创建OpenGL显示设备并与之关联。
步骤F2、按绘制需要,设置各窗口的OpenGL的绘制参数。包括:视点位置(X,Y位置将影响3D对象的平移;Z位置将影响3D对象的放大和缩小)、视角方向(将影响3D对象的观察视角)、变换矩阵(将影响3D对象的旋转)、显示模式(将决定3D对象按线模式还是面模式显示)、光照设置等。
步骤F3、调用指定窗口的Invalidate()函数触发显示的更新。
步骤F4、在指定窗口的OnDraw()或OnPaint()消息响应函数中进行如下处理:
A、用wglMakeCurrent(m_pDC->GetSafeHdc(),hrc)将对应的OpenGL上下文环境设置为当前环境。
B、进行OpenGL的显示设置并用Show3DS();完成OpenGL对3DS对象的绘制处理
其中,包括对glPushMatrix()、glLoadIdentity()、gluLookAt()、glMultMatrixf()、其它OpenGL的各种绘制函数和glPopMatrix()的调用。
C、用SwapBuffers(wglGetCurrentDC())交换前后台显示缓冲区。
D、用wglMakeCurrent(NULL,NULL)释放OpenGL上下文设备环境。
对于系统实施例而言,由于其基本相应于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种多计算机的同步控制方法、一种多计算机的同步控制系统、一种多机多屏的3D同步显示方法及一种多机多屏的3D同步显示系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (20)

1、一种多计算机的同步控制方法,其特征在于,所述多台计算机通过网络连接,所述的方法包括:
在网络中的各台计算机上维护运行信息表,所述运行信息表中包括:网络中所有计算机的标识信息、以及对应计算机的运行状态信息;
接收用户在网络中任一台计算机上输入的同步控制指令;
在所述接收指令的计算机的运行状态信息符合预置规则时,对所述运行信息表中记录的计算机上执行所述同步控制操作。
2、如权利要求1所述的方法,其特征在于,所述运行状态信息包括对等状态信息、主控状态信息或从属状态信息。
3、如权利要求2所述的方法,其特征在于,所述同步控制指令为同步控制触发指令,所述执行同步控制的步骤包括:
依据所述同步控制触发指令判断所述接收指令的计算机的运行状态信息是否为对等状态信息;
若是,则将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
所述其它计算机接收所述控制权请求消息,将其运行状态信息转换为从属状态信息。
4、如权利要求3所述的方法,其特征在于,所述运行信息表中还包括:优先级参数,所述执行同步控制的步骤还包括:
通过对比所述接收指令的计算机的优先级参数,选取优先级最高的一台计算机为需要执行所述状态判断步骤的计算机。
5、如权利要求4所述的方法,其特征在于,所述优先级参数根据网络中计算机的启动时间和地址信息生成。
6、如权利要求5所述的方法,其特征在于,所述执行同步控制的步骤还包括:
在网络中各计算机的运行信息表中,记录所述具有主控状态信息的计算机发出控制权请求消息的时间;
确定发出控制权请求消息的时间最早的计算机,或者,发出控制权请求消息的时间相同且优先级参数较高的计算机,为具有主控状态信息的计算机,将相应的其它计算机的运行状态信息转换为从属状态信息。
7、如权利要求3-6中任一项权利要求所述的方法,其特征在于,所述同步控制指令为同步控制操作指令,所述执行同步控制的步骤还包括:
依据所述同步控制操作指令判断所述接收指令的计算机的运行状态信息是否为主控状态信息;
若是,则在所述具有主控状态信息的计算机上执行所述指令,并生成相应的控制操作请求发送至对应的具有从属状态信息的计算机;
所述具有从属状态信息的计算机依据所述控制操作请求执行相应的操作。
8、如权利要求7所述的方法,其特征在于,还包括:
若所述具有主控状态信息的计算机在预设的时间阈值内未接收到同步控制指令,则将所述计算机的主控状态信息转换为对等状态信息,并发送控制权放弃消息至所述运行信息表中记录的具有从属状态信息的计算机;
所述具有从属状态信息的计算机依据所述控制权放弃消息,转换其运行状态信息为对等状态信息。
9、一种多计算机的同步控制系统,其特征在于,所述多台计算机通过网络连接,所述的系统包括:
运行信息表维护模块,用于在网络中的各台计算机上维护运行信息表,所述运行信息表中包括:网络中所有计算机的标识信息、以及对应计算机的运行状态信息;
指令接收处理模块,用于接收用户在网络中任一台计算机上输入的同步控制指令;
同步控制操作模块,用于在所述接收指令的计算机的运行状态信息符合预置规则时,对所述运行信息表中记录的计算机上执行所述同步控制操作。
10、如权利要求9所述的系统,其特征在于,所述运行状态信息包括对等状态信息、主控状态信息或从属状态信息。
11、如权利要求10所述的系统,其特征在于,所述同步控制指令为同步控制触发指令,所述同步控制操作模块包括:
对等状态判断子模块,用于依据所述同步控制触发指令判断所述接收指令的计算机的运行状态信息是否为对等状态信息;若是,则触发主控状态转换子模块;
主控状态转换子模块,用于将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
从属状态转换子模块,用于所述其它计算机接收所述控制权请求消息,将其运行状态信息转换为从属状态信息。
12、如权利要求11所述的系统,其特征在于,所述运行信息表中还包括:优先级参数,所述同步控制操作模块还包括:
第一优先级判断子模块,用于对比所述接收指令的计算机的优先级参数,选取优先级最高的一台计算机为需要执行所述状态判断步骤的计算机。
13、如权利要求11所述的系统,其特征在于,所述同步控制操作模块还包括:
时间记录子模块,用于在网络中各计算机的运行信息表中,记录所述具有主控状态信息的计算机发出控制权请求消息的时间;
第二优先级判断子模块,用于确定发出控制权请求消息的时间最早的计算机,或者,发出控制权请求消息的时间相同且优先级参数较高的计算机,为具有主控状态信息的计算机,将相应的其它计算机的运行状态信息转换为从属状态信息。
14、如权利要求9-13中任一项权利要求所述的系统,其特征在于,所述同步控制指令为同步控制操作指令,所述同步控制操作模块还包括:
主控状态判断子模块,用于依据所述同步控制操作指令判断所述接收指令的计算机的运行状态信息是否为主控状态信息;若是,则触发本机执行发送子模块;
本机执行发送子模块,用于在所述具有主控状态信息的计算机上执行所述指令,并生成相应的控制操作请求发送至对应的具有从属状态信息的计算机;
同步操作子模块,用于使所述具有从属状态信息的计算机依据所述控制操作请求执行相应的操作。
15、如权利要求14所述的系统,其特征在于,还包括:
状态更新模块,用于在所述具有主控状态信息的计算机在预设的时间阈值内未接收到同步控制指令时,将所述计算机的主控状态信息转换为对等状态信息,并发送控制权放弃消息至所述运行信息表中记录的具有从属状态信息的计算机;并使所述具有从属状态信息的计算机依据所述控制权放弃消息,转换其运行状态信息为对等状态信息。
16、一种多机多屏的3D同步显示方法,其特征在于,所述多台计算机通过网络连接,所述计算机的显示屏包括主窗口和子窗口,所述的方法包括:
依据进入网络连接的计算机的启动消息,在网络中连接的各台计算机上维护运行信息表;所述启动消息包括:3D对象信息和显示视角信息;所述运行信息表中包括:网络中所有计算机的IP地址及其运行状态信息;所述运行状态信息包括对等状态信息、主控状态信息或从属状态信息;
所述网络中的计算机上分别依据所述启动消息加载所述3D对象,并且,各台计算机在其主窗口中分别按照对应的显示视角信息绘制所述3D对象,同时,各台计算机分别生成子窗口,在子窗口中绘制网络中除本计算机外的其它计算机的、不同视角的3D对象;
接收用户在网络中任一台计算机上提交的3D对象触发指令;
若所述接收指令的计算机的运行状态信息为对等状态信息,则将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
所述其它计算机接收所述控制权请求消息,将其运行状态信息转换为从属状态信息;
接收用户在所述具有主控状态信息的计算机上提交的3D对象操作指令,并根据所述指令在当前计算机的主窗口和子窗口中分别更新所述3D对象的绘制;
依据所述更新绘制操作生成相应的操作请求发送至对应的具有从属状态信息的计算机,所述具有从属状态信息的计算机依据所述操作请求,分别在其对应的主窗口和子窗口中更新所述3D对象的绘制。
17、如权利要求16所述的方法,其特征在于,所述运行信息表中还包括:优先级参数,所述的方法还包括:
通过对比所述接收指令的计算机的优先级参数,选取优先级最高的一台计算机为需要执行所述状态判断步骤的计算机。
18、如权利要求17所述的方法,其特征在于,所述优先级参数根据网络中计算机的启动时间和地址信息生成。
19、如权利要求18所述的方法,其特征在于,还包括:
在网络中各计算机的运行信息表中,记录所述具有主控状态信息的计算机发出控制权请求消息的时间;
确定发出控制权请求消息的时间最早的计算机,或者,发出控制权请求消息的时间相同且优先级参数较高的计算机,为具有主控状态信息的计算机,将相应的其它计算机的运行状态信息转换为从属状态信息。
20、一种多机多屏的3D同步显示系统,其特征在于,所述多台计算机通过网络连接,所述计算机的显示屏包括主窗口和子窗口,所述的系统包括:
运行信息表维护单元,用于依据进入网络连接的计算机的启动消息,在网络中连接的各台计算机上维护运行信息表;所述启动消息包括:3D对象信息和显示视角信息;所述运行信息表中包括:网络中所有计算机的IP地址及其运行状态信息;所述运行状态信息包括对等状态信息、主控状态信息或从属状态信息;
启动单元,用于在所述网络中的计算机上分别依据所述启动消息加载所述3D对象,并且,使各台计算机在其主窗口中分别按照对应的显示视角信息绘制所述3D对象,同时,各台计算机分别生成子窗口,在子窗口中绘制网络中除本计算机外的其它计算机的、不同视角的3D对象;
触发指令接收单元,用于接收用户在网络中任一台计算机上提交的3D对象触发指令;
主控状态转换单元,用于在所述接收指令的计算机的运行状态信息为对等状态信息时,将所述对等状态信息转换为主控状态信息,并提交控制权请求消息至所述运行信息表中记录的其它计算机;
从属状态转换单元,用于在所述其它计算机接收所述控制权请求消息时,将其运行状态信息转换为从属状态信息;
操作指令接收单元,用于接收用户在所述具有主控状态信息的计算机上提交的3D对象操作指令;
主机绘制更新单元,用于根据所述操作指令在当前计算机的主窗口和子窗口中分别更新所述3D对象的绘制;
更新请求单元,用于依据所述更新绘制操作生成相应的操作请求发送至对应的具有从属状态信息的计算机;
从机绘制更新单元,用于使所述具有从属状态信息的计算机依据所述操作请求,分别在其对应的主窗口和子窗口中更新所述3D对象的绘制。
CN2008101062531A 2008-05-09 2008-05-09 一种多计算机的同步控制方法及系统 Active CN101291251B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN2008101062531A CN101291251B (zh) 2008-05-09 2008-05-09 一种多计算机的同步控制方法及系统
EP09741668.9A EP2276201A4 (en) 2008-05-09 2009-02-19 METHOD AND SYSTEM FOR SYNCHRONOUS CONTROL FOR A PLURALITY OF COMPUTERS
PCT/CN2009/070476 WO2009135393A1 (zh) 2008-05-09 2009-02-19 一种多计算机的同步控制方法及系统
US12/934,853 US8554864B2 (en) 2008-05-09 2009-02-19 System and method to synchronously display 3D object information on plural screens of plural computers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101062531A CN101291251B (zh) 2008-05-09 2008-05-09 一种多计算机的同步控制方法及系统

Publications (2)

Publication Number Publication Date
CN101291251A true CN101291251A (zh) 2008-10-22
CN101291251B CN101291251B (zh) 2011-04-06

Family

ID=40035346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101062531A Active CN101291251B (zh) 2008-05-09 2008-05-09 一种多计算机的同步控制方法及系统

Country Status (4)

Country Link
US (1) US8554864B2 (zh)
EP (1) EP2276201A4 (zh)
CN (1) CN101291251B (zh)
WO (1) WO2009135393A1 (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009135393A1 (zh) * 2008-05-09 2009-11-12 国网信息通信有限公司 一种多计算机的同步控制方法及系统
WO2011147218A1 (zh) * 2010-05-25 2011-12-01 中兴通讯股份有限公司 一种实现应用管理的方法及非智能移动终端
CN102571448A (zh) * 2012-02-14 2012-07-11 华为技术有限公司 参数同步的方法和装置
CN102572103A (zh) * 2011-12-29 2012-07-11 华为终端有限公司 无线手持设备的操作方法、系统及无线手持设备
CN103516528A (zh) * 2012-06-19 2014-01-15 中国银联股份有限公司 业务处理管理系统
CN104331297A (zh) * 2014-11-28 2015-02-04 广东威创视讯科技股份有限公司 一种渲染引擎的绘制方法及装置
CN103516528B (zh) * 2012-06-19 2016-11-30 中国银联股份有限公司 业务处理管理系统
CN108093245A (zh) * 2017-12-20 2018-05-29 浙江科澜信息技术有限公司 一种多屏融合方法、系统、装置和计算机可读存储介质
CN108241310A (zh) * 2018-01-22 2018-07-03 苏州白金汉爵大酒店有限公司 酒店房间状态控制方法、装置及系统
CN109660433A (zh) * 2018-12-21 2019-04-19 中山大学 一种智能家居的配置数据同步的冲突解决方法
CN110161972A (zh) * 2018-02-11 2019-08-23 上银科技股份有限公司 多机同步协同控制方法及系统
CN111078171A (zh) * 2019-11-30 2020-04-28 北京城市网邻信息技术有限公司 用于同步显示的方法、终端设备、设备和可读存储介质
CN111213088A (zh) * 2017-10-30 2020-05-29 微软技术许可有限责任公司 网络控制的3d视频捕获
CN111625307A (zh) * 2019-12-03 2020-09-04 蘑菇车联信息科技有限公司 一种同步群控方法、装置、pc端及系统
WO2020228031A1 (zh) * 2019-05-16 2020-11-19 深圳市欢太科技有限公司 指令处理方法、装置、电子设备以及存储介质
CN114422353A (zh) * 2021-12-13 2022-04-29 武汉工程大学 一种多客户端数据处理系统、方法及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209437B2 (en) * 2008-09-25 2012-06-26 Rockliffe Systems, Inc. Personal information management data synchronization
JP6372187B2 (ja) * 2014-06-23 2018-08-15 富士通株式会社 履歴情報管理方法、履歴情報管理装置、及び履歴情報管理プログラム
CN105117773B (zh) * 2015-08-13 2017-09-29 国网浙江省电力公司经济技术研究院 基于模糊评价算法的电力通信光传输网络综合评估方法
CN105426798B (zh) * 2015-11-03 2018-10-16 浦江县科创进出口有限公司 电子设备识别装置
CN105631518B (zh) * 2015-12-23 2018-07-03 西安理工大学 多参数多目标混沌粒子群参数寻优方法
CN105608492B (zh) * 2016-03-02 2018-03-20 东北大学 一种基于鲁棒随机权神经网络的多元铁水质量软测量方法
CN115456640A (zh) * 2022-08-17 2022-12-09 广东省第二人民医院(广东省卫生应急医院) 一种药品监控溯源方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100620289B1 (ko) * 2000-07-25 2006-09-07 삼성전자주식회사 마스터 이탈시 사설 간이 네트워크 운영 방법
US20020129128A1 (en) * 2001-03-07 2002-09-12 Stephen Gold Aggregation of multiple headless computer entities into a single computer entity group
US7337093B2 (en) * 2001-09-07 2008-02-26 Purdue Research Foundation Systems and methods for collaborative shape and design
JPWO2003038634A1 (ja) * 2001-10-30 2005-02-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation ネットワーク上の複数のコンピュータの間でのコラボレーションを行うための方法、システム、コンピュータ・プログラム
DE60331356D1 (de) * 2002-12-16 2010-04-01 Koninkl Philips Electronics Nv System und verfahren zur wiederherstellung eines beleuchtungssteuernetzwerks nach master-ausfall
JP2005056163A (ja) * 2003-08-05 2005-03-03 Internatl Business Mach Corp <Ibm> コラボレーション・システムのためのサーバ装置、コラボレーション・システムのためのクライアント装置、コンピュータ装置をコラボレーション・システムのためのサーバ装置として機能させるためのプログラム、およびコンピュータ装置をコラボレーション・システムのためのクライアント装置として機能させるためのプログラム並びにコラボレーション・システム
US20060064730A1 (en) * 2004-09-17 2006-03-23 Jacob Rael Configurable entertainment network
US20070127791A1 (en) * 2005-11-15 2007-06-07 Sectra Ab Automated synchronization of 3-D medical images, related methods and computer products
CN101072228A (zh) * 2006-05-12 2007-11-14 明基电通股份有限公司 一种电源状态同步的方法及其装置
CN100555220C (zh) * 2006-10-19 2009-10-28 英业达股份有限公司 多计算机系统及其配置方法
KR20090043142A (ko) * 2007-10-29 2009-05-06 삼성전자주식회사 영상 처리 방법 및 시스템
CN101291251B (zh) * 2008-05-09 2011-04-06 国网信息通信有限公司 一种多计算机的同步控制方法及系统

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009135393A1 (zh) * 2008-05-09 2009-11-12 国网信息通信有限公司 一种多计算机的同步控制方法及系统
US8554864B2 (en) 2008-05-09 2013-10-08 State Grid Information & Telecommunication Co., Ltd. System and method to synchronously display 3D object information on plural screens of plural computers
WO2011147218A1 (zh) * 2010-05-25 2011-12-01 中兴通讯股份有限公司 一种实现应用管理的方法及非智能移动终端
CN102572103A (zh) * 2011-12-29 2012-07-11 华为终端有限公司 无线手持设备的操作方法、系统及无线手持设备
CN102572103B (zh) * 2011-12-29 2013-12-04 华为终端有限公司 无线手持设备的操作方法、系统及无线手持设备
CN102571448A (zh) * 2012-02-14 2012-07-11 华为技术有限公司 参数同步的方法和装置
CN103516528A (zh) * 2012-06-19 2014-01-15 中国银联股份有限公司 业务处理管理系统
CN103516528B (zh) * 2012-06-19 2016-11-30 中国银联股份有限公司 业务处理管理系统
CN104331297A (zh) * 2014-11-28 2015-02-04 广东威创视讯科技股份有限公司 一种渲染引擎的绘制方法及装置
US11070713B2 (en) 2017-10-30 2021-07-20 Microsoft Technology Licensing, Llc Network-controlled 3D video capture
CN111213088B (zh) * 2017-10-30 2022-05-10 微软技术许可有限责任公司 网络控制的3d视频捕获
CN111213088A (zh) * 2017-10-30 2020-05-29 微软技术许可有限责任公司 网络控制的3d视频捕获
CN108093245B (zh) * 2017-12-20 2020-05-05 浙江科澜信息技术有限公司 一种多屏融合方法、系统、装置和计算机可读存储介质
CN108093245A (zh) * 2017-12-20 2018-05-29 浙江科澜信息技术有限公司 一种多屏融合方法、系统、装置和计算机可读存储介质
CN108241310A (zh) * 2018-01-22 2018-07-03 苏州白金汉爵大酒店有限公司 酒店房间状态控制方法、装置及系统
CN110161972A (zh) * 2018-02-11 2019-08-23 上银科技股份有限公司 多机同步协同控制方法及系统
CN109660433A (zh) * 2018-12-21 2019-04-19 中山大学 一种智能家居的配置数据同步的冲突解决方法
CN109660433B (zh) * 2018-12-21 2021-10-22 中山大学 一种智能家居的配置数据同步的冲突解决方法
WO2020228031A1 (zh) * 2019-05-16 2020-11-19 深圳市欢太科技有限公司 指令处理方法、装置、电子设备以及存储介质
CN113282257A (zh) * 2019-11-30 2021-08-20 北京城市网邻信息技术有限公司 用于同步显示的方法、终端设备、设备和可读存储介质
CN111078171A (zh) * 2019-11-30 2020-04-28 北京城市网邻信息技术有限公司 用于同步显示的方法、终端设备、设备和可读存储介质
CN111625307A (zh) * 2019-12-03 2020-09-04 蘑菇车联信息科技有限公司 一种同步群控方法、装置、pc端及系统
CN111625307B (zh) * 2019-12-03 2024-03-08 蘑菇车联信息科技有限公司 一种同步群控方法、装置、pc端及系统
CN114422353A (zh) * 2021-12-13 2022-04-29 武汉工程大学 一种多客户端数据处理系统、方法及存储介质
CN114422353B (zh) * 2021-12-13 2024-04-19 武汉工程大学 一种多客户端数据处理系统、方法及存储介质

Also Published As

Publication number Publication date
EP2276201A4 (en) 2014-02-12
CN101291251B (zh) 2011-04-06
EP2276201A1 (en) 2011-01-19
US8554864B2 (en) 2013-10-08
WO2009135393A1 (zh) 2009-11-12
US20110029931A1 (en) 2011-02-03

Similar Documents

Publication Publication Date Title
CN101291251B (zh) 一种多计算机的同步控制方法及系统
CN111597005B (zh) 一种大数据可视化三维gis云渲染项目生成系统与方法
CN106062705B (zh) 跨平台渲染引擎
CN106716934B (zh) 聊天交互方法、装置及其电子设备
EP2423844B1 (en) Electronic whiteboard system, electronic whiteboard device, and method of controlling electronic whiteboard
US9110581B2 (en) Touch support for remoted applications
CA2792181C (en) Method of distributed layout negotiation in a user interface framework
CN104035683B (zh) 一种通讯终端分屏多任务交互方法
CN100553214C (zh) 移动虚拟环境系统
CN102141893A (zh) 面向大幅面交互式桌面的多用户窗口系统
CN106940616A (zh) 应用运行方法及装置
CN114157907A (zh) 基于云手机的vr应用设计方法及系统
CN101251993B (zh) 一种监控多屏幕的方法及装置
CN105653353A (zh) 一种基于容器的多系统交互通讯方法和装置
CN116415321A (zh) 一种云端cad处理系统及其构建方法
CN102375857B (zh) 一种搜索方法和装置
CN103761106A (zh) 流程的控制方法及流程引擎
Wenhua et al. Studies on visual scene process system of aircraft assembly
CN113778622A (zh) 云桌面键盘事件处理方法、装置、设备及存储介质
CN115857915B (zh) 面向元宇宙系统开发的物对象数字化方法
CN115525187B (zh) 一种分屏方法以及相关设备
Chen et al. MSA: A Novel App Development Framework for Transparent Multi-Screen Support on Android Apps
US20220398056A1 (en) Companion devices as productivity tools
CN117093069A (zh) 一种混合应用的跨维度交互方法、装置及设备
CN112052058A (zh) 一种基于ipc多应用融合屏幕的技术

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: STATE GRID INFORMATION + TELECOMMUNICATION CO., LT

Effective date: 20120725

Owner name: STATE ELECTRIC NET CROP.

Free format text: FORMER OWNER: STATE GRID INFORMATION + TELECOMMUNICATION CO., LTD.

Effective date: 20120725

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100761 XUANWU, BEIJING TO: 100031 XICHENG, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20120725

Address after: 100031 Xicheng District West Chang'an Avenue, No. 86, Beijing

Co-patentee after: State Grid Information & Telecommunication Co., Ltd.

Patentee after: State Grid Corporation of China

Address before: 100761 Beijing Xuanwu District city two, Baiguang Road

Patentee before: State Grid Information & Telecommunication Co., Ltd.

ASS Succession or assignment of patent right

Owner name: STATE GRID INFORMATION + TELECOMMUNICATION CO., LT

Free format text: FORMER OWNER: STATE GRID INFORMATION + TELECOMMUNICATION CO., LTD.

Effective date: 20141106

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20141106

Address after: 100031 Xicheng District West Chang'an Avenue, No. 86, Beijing

Patentee after: State Grid Corporation of China

Patentee after: State Grid Information & Telecommunication Co., Ltd.

Patentee after: Beijing Guodiantong Network Technology Co., Ltd.

Address before: 100031 Xicheng District West Chang'an Avenue, No. 86, Beijing

Patentee before: State Grid Corporation of China

Patentee before: State Grid Information & Telecommunication Co., Ltd.