一种数字式kvm主控端与受控端之间同步状态信息的方法

文档序号:6489940阅读:224来源:国知局
一种数字式kvm主控端与受控端之间同步状态信息的方法
【专利摘要】本发明公开了一种数字式KVM切换器的主控端与受控端之间同步状态信息的协议与实现方式。日常应用中,数字式KVM的主控端与受控端会不断收到来自外部设备(键盘、显示器、鼠标)及自身设备的控制信号、状态信号。为了能够实现远程控制,主控端与受控端必须及时有效的同步这些信息,并更新各自的内部状态。本发明通过提出一种能有效表达层次化结构信息的,紧凑的编码解码方案来优化主控端与受控端的状态同步更新。
【专利说明】一种数字式KVM主控端与受控端之间同步状态信息的方法
【技术领域】
[0001]本发明涉及一种KVM电脑切换器装置,尤其涉及一种采用CAT5网线连接KVM主控端与受控端的数字式KVM切换器。
【背景技术】
[0002]近年来,计算机的应用已经深入到人们生活的方方面面。面对越来越复杂的计算任务,就需要越来越多计算机的协同工作才能完成。例如,在中央机房或数据中心,往往需要部署了几百甚至几千台计算机;甚至一般家庭都有可能配置三台以上的计算机。一般说来,每一台计算机都需要配置一套外围设备(键盘、显示器、鼠标)才能被管理员操控。不仅投资巨大,占用空间,而且管理员往往要穿梭于各台计算机之间,十分不便。KVM电脑切换器(KVM Switch)正是用来解决此问题的关键设备。通过将每台计算机的输入输出信号汇总到KVM,使用者仅使用一组键盘、显示器、鼠标,就可以操控这些计算机。当需要切换信号线路时,只需要按一下KVM上的选路开关,即可切换去监控另一台计算机。
[0003]传统KVM设备采用“三并线”(键盘、显示器、鼠标的捆绑线)连接电脑主机与KVM设备。但三并线的线材价格较高,信号衰减很快,传输距离不超过20米。由于三并线的接头较多,接线较宽,对于支持16路以上的KVM切换器,其三并线的合计直径可达10厘米以上,线材粗重,容易互相缠结,显得杂乱无章,给使用带来很大不便。数字式KVM通过在每台计算机后端添加一个小型KVM受控端设备,将键盘、显示器、鼠标的信号转化为差分信号,用CAT5网线与KVM切换器(即KVM主控端)连接进行通信,从而取代传统的三并线连接方式。由于网线价格便宜,横截面较小,每条控制线路只需一根网线,信号传输距离可达150米以上,大大降低了机房布线的难度。
[0004]为了实现即时的操作响应,数字式KVM的主控端与受控端要不断的同步各种信号,其中包括键盘、鼠标、显示器以及数字式KVM自身的控制信号与状态信号。这些信号中有些具有很高的发送频率,有些则是对复杂的结构化信息的局部更新。如何利用有限的带宽和计算能力受限的微控制器,提供稳定的、高效的状态同步更新机制,是数字式KVM性能优化的一个重要组成部分。

【发明内容】

[0005]数字式KVM设备内部一般都存储着结构化的数据(如C语言的结构体)。这样一个数据往往包含多个字段,字段可以是基本数据类型(如整数),也可以是另一个结构化的数据,从而形成层级结构。当数字式KVM要在主控端与受控端同步这些结构化数据时,往往只是更新结构中的某个或某几个字段。如果传送整个结构的全部信息,不但浪费带宽,也增加了发生传输故障的风险。本发明的目的是给出一种有效的在数字式KVM主控端与受控端进行通信的协议及具体实现方式,此协议具有紧凑的数据表达,向后兼容,高容错性,易于嵌入式处理器执行的特性。
[0006]本发明所采用的技术方案是:[0007]—种数字式KVM主控端与受控端之间同步状态信息的方法,其特征在于:主控端与受控端均具有一套状态更新收集器,执行指定协议的编码器,执行指定协议的解码器;所述更新收集器包括控制器,计时器,两个状态数据存储区;所述编码器与状态更新收集器相连,将状态更新收集器采集到的状态变更编码为字节流;所述解码器与接收装置相连,用于将编码器编码后的字节流转化为状态的更新;所述指定协议是一种编码解码方式,将数字式KVM主控端与受控端所存储的结构化状态数据表达为多个“字段头部信息+字段内容”的直接拼接而成的字节流或将字节流转化为结构化状态数据的某个字段的变化;所述字段头部信息为Sbits数据,其中高5bits用于编码字段编号,低2bits用于编码字段类型,剩余I个bit用于表示清空标志;所述字段类型包括变长整数、带长度的字节流、32位定长字节流、64位定长字节流4个可能取值;所述字段内容根据字段头部信息指定的字段类型进行不同的编码。
[0008]其中的编码解码方式为:当字段类型为变长整数时,字段内容的编码为约定大小端(Big-endian or Little-endian)的以7bits为单位的整数编码,每个字节(8bits)的最高位用于表达是否还需要额外细节来存放整数编码,剩余位用于存放7bits为单位的整数编码。当字段类型为带长度的字节流时,字段内容的编码为由变长整数表示的字节流长度+字节流原始内容,且编码器将结构化数据中的子结构信息也用带长度的字节流来进行编码。当字段类型为32位定长字节流或64位定长字节流时,则字段内容的编码保持原始字节内容不变,数字式KVM的主控端与受控端根据状态数据的实际结构来确定字段内容是整数还是浮点数。
[0009]编码器对于数字式KVM主控端与受控端所存储的结构化状态数据中未变动的字段,不会生成任何编码信息;编码器可以用同一个字段头部发送多个不同的字段内容,用于表示数组字段的各个元素的信息。
[0010]解码器对于字节流中多个具有相同字段头部的信息,根据数字式KVM的主控端与受控端状态数据的实际结构来确定是否表达为数组字段的各个元素,如果不是数组字段,则使用收到对应字段的最后一次的值。如果字段头部信息的清空标志被置位,则重置数字式KVM的主控端与受控端状态数据对应字段信息,对于数组字段为清空,对于非数组字段为设为初始的默认值。
[0011]解码器收到带长度的字节流时,会根据存储在数字式KVM主控端与受控端中的状态数据的实际结构,来确定是普通字节流还是子结构信息,并对于子结构信息递归的执行相同的解码方式,直到解析至基本类型字段为止。
[0012]更新收集器内部的控制器会将更新记录到2个状态数据存储区中的一个里,并由计时器发出信号,通知控制器清空另一个状态数据存储区,并将此后发生的更新记录到此状态数据存储区中。内部的控制器、2个状态数据存储区都与编码器相连,控制器会切换当前使用的状态数据存储区后通知编码器读取另一个状态数据存储区中的信息。
【专利附图】

【附图说明】:
[0013]图1为本发明中数字式KVM切换器的主控端与受控端的通信的功能模块关系图。
[0014]图2为本发明中数字式KVM切换器的主控端与受控端的状态变更收集器模块关系图。[0015]图3为本发明中数字式KVM切换器的主控端与受控端的状态更新执行器模块关系图。
【具体实施方式】:
[0016]首先要在图1所示的编码器与解码器中实现下述协议。对数字式KVM的主控端与受控端内部所维护的结构化数据进行编码解码。第一步是对各个字段进行编号。例如结构S,包括三个字段Si,S2, S3,分别用一个整数进行编号,如1,2,3。编号不一定要连续,但要确保同一字段在数字式KVM主控端与受控端的编号一致。编号的取值范围为O到31,也就是每个结构体最多可以有32个字段,这个范围对于一般应用已经足够。第二步,整个结构
体的编码就是其所有字段编码的直接拼接:
[0017]
【权利要求】
1.一种数字式KVM主控端与受控端之间同步状态信息的方法,其特征在于:主控端与受控端均具有一套状态更新收集器,执行指定协议的编码器,执行指定协议的解码器;所述更新收集器包括控制器,计时器,两个状态数据存储区;所述编码器与状态更新收集器相连,将状态更新收集器采集到的状态变更编码为字节流;所述解码器与接收装置相连,用于将编码器编码后的字节流转化为状态的更新;所述指定协议是一种编码解码方式,将数字式KVM主控端与受控端所存储的结构化状态数据表达为多个“字段头部信息+字段内容”的直接拼接而成的字节流或将字节流转化为结构化状态数据的某个字段的变化;所述字段头部信息为Sbits数据,其中高5bits用于编码字段编号,低2bits用于编码字段类型,剩余I个bit用于表示清空标志;所述字段类型包括变长整数、带长度的字节流、32位定长字节流、64位定长字节流4个可能取值;所述字段内容根据字段头部信息指定的字段类型进行不同的编码。
2.根据权利要求1所述的编码解码方式,其特征在于:当字段类型为变长整数时,字段内容的编码为约定大小端(Big-endian or Little-endian)的以7bits为单位的整数编码,每个字节(Sbits)的最高位用于表达是否还需要额外细节来存放整数编码,剩余位用于存放7bits为单位的整数编码。
3.根据权利要求1所述的编码解码方式,其特征在于:当字段类型为带长度的字节流时,字段内容的编码为由权利要求2所述的变长整数表示的字节流长度+字节流原始内容,且编码器将结构化数据中的子结构信息也用带长度的字节流来进行编码。
4.根据权利要求1所述的编码解码方式,其特征在于:当字段类型为32位定长字节流或64位定长字节流时,则字段内容的编码保持原始字节内容不变,数字式KVM的主控端与受控端根据状态数据的实际结构来确定字段内容是整数还是浮点数。
5.根据权利要求1所述的编码器,其特征在于:编码器对于数字式KVM主控端与受控端所存储的结构化状态数据中未变动的字段,不会生成任何编码信息;编码器可以用同一个字段头部发送多个不同的字段内容,用于表示数组字段的各个元素的信息。
6.根据权利要求1所述的解码器,其特征在于:解码器对于字节流中多个具有相同字段头部的信息,根据数字式KVM的主控端与受控端状态数据的实际结构来确定是否表达为数组字段的各个元素,如果不是数组字段,则使用收到对应字段的最后一次的值。
7.根据权利要求1所述的解码器,其特征在于:如果字段头部信息的清空标志被置位,则重置数字式KVM的主控端与受控端状态数据对应字段信息,对于数组字段为清空,对于非数组字段为设为初始的默认值。
8.根据权利要求3所述的编码解码方式,其特征在于:当解码器收到带长度的字节流时,会根据存储在数字式KVM主控端与受控端中的状态数据的实际结构,来确定是普通字节流还是子结构信息,并对于子结构信息递归的执行相同的解码方式,直到解析至基本类型字段为止。
9.根据权利要求1所述的更新收集器,其特征在于:内部的控制器会将更新记录到2个状态数据存储区中的一个里,并由计时器发出信号,通知控制器清空另一个状态数据存储区,并将此后发生的更新记录到此状态数据存储区中。
10.根据权利要求9所述的更新收集器,其特征在于:内部的控制器、2个状态数据存储区都与编码器相连,控制器会切换当前使用的状态数据存储区后通知编码器读取另一个状态数据存储区中的信息。`
【文档编号】G06F3/14GK103777768SQ201210395727
【公开日】2014年5月7日 申请日期:2012年10月17日 优先权日:2012年10月17日
【发明者】沈雷, 邹超 申请人:沈雷, 邹超
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1