一种适用于多星多数据流的测试数据实时发布方法转让专利
申请号 : CN201010051992.2
文献号 : CN105659942B
文献日 : 2014-02-19
发明人 : 孙波 , 张海洋 , 何晓宇
申请人 : 北京空间飞行器总体设计部
摘要 :
本发明公开了一种适用于多星多数据流的测试数据实时发布方法,每颗卫星的测试数据均经一台数据处理服务器进行解析处理,形成一个三元组格式的数据流,多颗卫星形成的多个数据流根据以UDP的方式向测试网络的不同接收端口进行广播,相同数据类型的数据流发送至相同的接收端口,三元组格式为卫星编号,数据类型,数据编号,数据应用客户端以相同方式向数据订阅服务器进行数据订阅请求,通过设置该三元组,可以灵活方便的实现各种订阅服务请求,可以动态的增加或减少订阅服务,在此基础上制定了数据发布和数据订阅协议,形成卫星测试领域数据发布和订阅的一个标准,最后实现一套软件,实现多星测试数据的集中管理和实时发布。
权利要求 :
1.一种适用于多星多数据流的测试数据实时发布方法,其特征在于:每颗卫星的测试数据均经一台数据处理服务器进行解析处理,形成一个三元组格式的数据流,所述数据流的三元组格式为卫星编号、数据类型、数据编号,多颗卫星形成的多个数据流以UDP的方式向测试网络的不同接收端口进行广播,相同数据类型的数据流发送至相同的接收端口,数据订阅服务器从测试网络中接收多颗卫星形成的多个数据流,接收到所有卫星的所有数据流后为每颗卫星产生的数据流分配一个数据缓冲区,数据订阅服务器实时更新数据缓冲区中的数据流,数据应用客户端以三元组格式向数据订阅服务器发送订阅请求,数据订阅服务器接收数据应用客户端的订阅请求后对订阅请求进行解析,数据订阅服务器将解析后的卫星数据实时发送给数据应用客户端。
说明书 :
一种适用于多星多数据流的测试数据实时发布方法
技术领域
[0001] 本发明涉及一种测试数据实时发布方法,尤其涉及一种适用于多星多数据流的测试数据实时发布方法,适合于多航天器并行测试过程中测试数据统一管理,实时发布的方法。
背景技术
[0002] 航天器测试过程中需要发送大量的测试数据,在单星测试过程中由于数据单一对于测试数据的管理和实时分发比较容易实现,但是多星并行测试模式下,测试数据量大,数据种类多,需要一种方式实现多航天器并行测试时测试数据的集中管理和实时发布,从而有效支持星座测试。
[0003] 消息的订阅与发布机制是经过多年研究、已经成熟的消息通讯方式。这种传统的消息订阅与发布机制可以大大提高消息通讯的可靠性,并能很好地适应大型分布式网络体系结构。文章《基于WS-N的发布订阅消息模式的研究》(卢传富,钱兴华.计算机与数字工程,第34卷)中详细描述了的一种传统的消息订阅与发布机制,这种机制首先要保证的是消息的必达性——即首先要保证一定要把消息送达,而不考虑消息本身的实时性——即消息从其产生开始,持续一定时间间隔后,是否还具有实际意义;这就造成了以下问题:在实时系统中,一旦某个消息在传输过程中因为种种原因造成了延迟,其所在队列中的所有后续消息都会在这个延迟的基础上继续发生延迟,直到此队列的注销才结束。这些发生了延迟的消息,往往在未被送达前就已经失去了实际意义。宝贵的网络资源和消息缓冲区就这样被大量无意义的数据所占据,进入了“在延迟的基础上继续延迟”的恶性循环。
[0004] 中国专利申请200410077269.6、发明名称:一种基于即时通讯平台的消息订阅方法和系统,申请人:腾讯科技(深圳)有限公司,公开了一种即时通讯的消息订阅方法。该方法也只考虑了消息的必达性,而没有考虑消息本身的实时性。
[0005] 中国专利申请200510116641.4、发明名称:一种呈现信息的通知方法和系统,申请人:华为技术有限公司,公开了一种观察体的订阅策略处理流程。这个流程中每个订阅者都具有一个订阅有效期,这个有效期是指订阅者在特定时间区间内接收特定种类消息的属性,如果消息产生时间已经超越了这个特定的时间区间,该订阅者就不会收到该类消息了。这种订阅的有效性只是保证在非有效期限内,订阅者不会收到特定的消息,没有考虑实际消息发布过程中消息是否过期等情况。
[0006] 中国专利申请200610106654.8、发明名称:基于会话发起协议的订阅方法及其系统和装置,申请人:华为技术有限公司,公开了另一种实现订阅者有效期的方法。这种订阅的有效性只是保证在非有效期限内,订阅者不会收到特定的消息,没有考虑实际消息发布过程中消息是否过期等情况。
[0007] 中国专利申请200610034191.9、发明名称:对通讯网络中的SIP消息进行过路的方法、设备及系统,申请人:华为技术有限公司,公开了一种使用消息过滤服务器的消息过滤方法。该方法中消息过滤器的位置集中位于消息过滤服务器上,消息过滤器的这种位置需要将所有的消息都在本地代理中发布后才进行过滤,没有在消息的发布过程中对消息进行过滤,占用了大量的网络资源,且该方法中公布的过滤条件为全局统一的,灵活性不高。
[0008] 中国专利申请200510135949.3、发明名称:一种具有信息消息过滤功能的移动通信系统及其方法,申请人:乐金电子(中国)研究开发中心有限公司,公开了一种使用密码类型订阅者的消息过滤方法。该方法中通过发送密码类型实现特定条件的消息过滤,即将未经订阅者确认来源的消息进行过滤,对于确定来源的消息全部进行发布,没有考虑确定来源消息中消息的过期、实时性等问题,占用了大量的网络资源,灵活性不高。
[0009] 上述专利和公开出版物均未涉及航天应用网络,对航天应用网络中的多星多数据流的数据发布方法没有做出说明,应用于该领域时存在技术上的不足。通过检索未发现国外与本发明相似的公开出版物及专利。
发明内容
[0010] 本发明的技术解决问题是:克服现有技术的不足,提供一种适用于多星多数据流的测试数据实时发布方法,对多航天器并行测试过程中的测试数据进行有效管理,并提供方便的接口进行数据的实时发布。
[0011] 本发明的技术解决方案是:一种适用于多星多数据流的测试数据实时发布方法,每颗卫星的测试数据均经一台数据处理服务器进行解析处理,形成一个三元组格式的数据流,所述数据流的三元组格式为卫星编号、数据类型、数据编号,多颗卫星形成的多个数据流根据以UDP的方式向测试网络的不同接收端口进行广播,相同数据类型的数据流发送至相同的接收端口,数据订阅服务器从网络中接收多颗卫星形成的多个数据流,接收到所有卫星的所有数据流后为每颗卫星产生的数据流分配一个数据缓冲区,数据订阅服务器实时更新缓冲区中的数据流,数据应用客户端以三元组格式向数据订阅服务器发送订阅请求,数据订阅服务器接收数据应用客户端的订阅请求后对订阅请求进行解析,数据订阅服务器将解析后的卫星数据实时发送给数据应用客户端。
[0012] 本发明与现有技术相比的有益效果是:本发明通过文件配置可以接收多个型号、多种数据类型的测试数据,将每颗卫星产生的数据采用三元组的形式向数据订阅服务器进行发送,三元组格式为卫星编号,数据类型,数据编号,数据应用客户端以相同方式向数据订阅服务器进行数据订阅请求,通过设置该三元组,可以灵活方便的实现各种订阅服务请求,可以动态的增加或减少订阅服务,在此基础上制定了数据发布和数据订阅协议,形成卫星测试领域数据发布和订阅的一个标准,最后实现一套软件,实现多星测试数据的集中管理和实时发布。
附图说明
[0013] 图1为本发明的信号传输流程图;
[0014] 图2为本发明数据流存储示意图。
具体实施方式
[0015] 如图1所示,每个卫星型号测试过程中,将会产生大量的数据,在卫星应用网络上,一颗卫星对应一个数据处理服务器,数据处理服务器对卫星数据进行解析处理,这些数据经过数据处理服务器处理之后,并在该应用网络上以UDP的方式广播该卫星的数据,不同类型的数据向不同的端口广播,相同数据类型的数据向相同接收端口广播。数据订阅服务器接收网络上所有卫星所有数据流的数据,并把这些数据保存在数据缓冲池中,并实时更新缓冲池中的数据。数据应用客户端向订阅服务器发送订阅请求,根据应用需要订阅该客户端所需要的数据。数据订阅服务器接收应用客户端的订阅请求,对订阅请求进行解析,解析出客户端需要的详细的数据参数,并把这些参数的值实时的发送给数据客户端。比如订阅某一型号某一数据流的全部数据,或订阅所有卫星型号某一分系统类型的全部数据等,或多个型号多种数据流的多个数据等。
[0016] 具体实现方法为:每颗卫星的测试数据均经一台数据处理服务器进行解析处理,形成一个三元组格式的数据流,所述数据流的三元组格式为卫星编号、数据类型、数据编号,多颗卫星形成的多个数据流根据以UDP的方式向测试网络的不同接收端口进行广播,相同数据类型的数据流发送至相同的接收端口,数据订阅服务器从网络中接收多颗卫星形成的多个数据流,接收到所有卫星的所有数据流后为每颗卫星产生的数据流分配一个数据缓冲区,数据订阅服务器实时更新缓冲区中的数据流,数据应用客户端以三元组格式向数据订阅服务器发送订阅请求,数据订阅服务器接收数据应用客户端的订阅请求后对订阅请求进行解析,数据订阅服务器将解析后的卫星数据实时发送给数据应用客户端。
[0017] 数据应用客户端向订阅服务器发送订阅请求,卫星数据的订阅格式也采用三元组的方式进行订阅,其三元组定义为(卫星编号,数据类型,数据编号),该方式灵活方便,可以完成各种需求的数据订阅。比如订阅卫星sat1的全部数据,三元组表示为(sat1,all,all),订阅卫星sat1的全部数据流中的A分系统的全部数据,三元组表示为(sat1,all,a)。数据订阅服务器收到订阅请求后,对订阅请求进行解析,解析出客户端需要的详细的数据参数,并对这些参数进行冗余性判读,出现重复的参数订阅信息时,剔除重复的参数订阅信息,然后数据缓冲池中提取出这些参数值,把这些值实时的发送给数据客户端。
[0018] 在数据订阅服务器中设置多星测试数据实时发布软件系统,软件系统运行流程如下:
[0019] (1)实时发布软件运行,读取配置文件,监听所有接收端口的数据;
[0020] (2)实时发布软件通过接收端口按照固定的频率接收多星发出的测试数据并更新数据缓存区;
[0021] (3)客户端和实时发布软件建立TCP/IP连接,按照订阅协议和实时发布软件发送订阅请求;
[0022] (4)收到订阅请求后,对订阅请求进行解析,然后按照测试数据的更新地频率向客户端发送测试数据。
[0023] 实时发布软件同时可以服务多个客户端软件,每个客户端软件可以和实时发布软件建立多个TCP/IP连接以及数据订阅请求。
[0024] 卫星编号:对参与多星并行测试的每一个航天器进行唯一编号,比如:BD020001,BD020002等;
[0025] 数据类型:对于参与每一个航天器产生的每种类型的测试数据进行唯一编号,四个字节,比如:DATF,DATE等。
[0026] 数据编号:对数据空间中的数据进行一个唯一编号,并形成一个数据空间,A001-Z999,共支持999x26个参数。
[0027] 接收端口:对数据类型的接收方式,接收端口进行定义,比如:1000,1001、1002等,软件运行后监听所有端口,完成所定义测试数据的监听。
[0028] 例如:
[0029]卫星编号 数据类型 接收端口
BD020001 DATF 1000
BD020001 DATM 1001
BD020001 DATX 1002
BD020002 DATF 1003
BD020002 DATM 1004
BD020002 DATX 1005
BD020003 DATI 1006
BD020003 DATJ 1007
BD020003 DATO 1008
BD020001 DATF 1000
BD020001 DATM 1001
BD020001 DATX 1002
BD020002 DATF 1003
BD020002 DATM 1004
BD020002 DATX 1005
BD020003 DATI 1006
BD020003 DATJ 1007
BD020003 DATO 1008
[0030] 在数据订阅服务器内部将开辟多个数据缓存池,比如针对上表在软件内部将生成如图2所示的数据缓存区。
[0031] 数据订阅算法,为了方便数据的订阅需要一种完备的数据订阅算法,用户可以发送采用如下三元组定义的请求完成测试数据的灵活订阅,(卫星编号范围,数据类型范围,数据编号范围),该方法可以实现如下种类的订阅
[0032] (1)订阅单颗卫星的一种测试数据的所有数据
[0033] 订阅格式(BD020001,DATE)
[0034] (2)订阅单颗卫星的一种测试数据的一个数据
[0035] 订阅格式(BD020001,DATE,A001)
[0036] (3)订阅单颗卫星的一种测试数据的多个数据
[0037] 订阅格式(BD020001,DATE,(A001-A099,B,C001-C999))
[0038] (4)订阅单颗卫星的多种测试数据的多个数据
[0039] 订阅格式(BD020001,(DATE,(A001-A099,B,C001-C999)),(DATM,C001),(DATX,(A001-A099)))
[0040] (5)订阅多个卫星的多种测试数据的多个数据
[0041] 订阅格式((BD020001,(DATE,(A001-A099,B,C001-C999)),(DATM,C001),(DATX,(A001-A099))),(BD020002,(DATE,(A001-A099,B,C001-C999)),(DATM,C001),(DATX,(A001-A099))))
[0042] 本发明未详细描述内容为本领域技术人员公知技术。