CN111104231B - 多层级环境下的消息收发方法、收发装置、服务器及系统 - Google Patents
多层级环境下的消息收发方法、收发装置、服务器及系统 Download PDFInfo
- Publication number
- CN111104231B CN111104231B CN201911016969.7A CN201911016969A CN111104231B CN 111104231 B CN111104231 B CN 111104231B CN 201911016969 A CN201911016969 A CN 201911016969A CN 111104231 B CN111104231 B CN 111104231B
- Authority
- CN
- China
- Prior art keywords
- message
- receiving
- level
- server
- sending
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Abstract
本发明公开一种多层级维度环境的消息收发方法、收发装置、服务器及系统,收发装置创建服务器对象;调用注册接口;通知服务器当前消息通道及所属层级;指定消息的通道号并发送消息至服务器;收发装置调用注册接口,订阅消息的通道号;接收来自服务器的相应层级和通道号的消息;服务器接收注册请求;接收来自收发装置的消息并生成消息通道标识;服务器根据消息通道标识确定消息所属层级;服务器接收注册请求;根据消息所属层级和通道号向收发装置发送对应层级的消息。本发明能够实现多维度环境下的多层级消息传送与分发,满足不同应用业务灵活设定消息收发范围的需求,有效地支撑了场景、场景实例、子场景、子场景实例之间的消息隔离与互通需求。
Description
技术领域
本发明属于电力系统调度技术领域,具体涉及一种多层级维度环境下的消息收发方法、收发装置、服务器及系统。
背景技术
在传统的电网调度控制系统中,采用了态的概念对应用进行分组,比如实时态、反演态、测试态、培训态等等,应用部署在不同的态下,消息总线在传送消息时,也是按照态来进行相应的隔离:划分在相同态下所有应用之间可以互相发送消息,不同态之间的应用不能够进行消息交互。应用程序调用消息总线接口发送或接收消息时,首先需要提供态、应用信息进行注册,然后,发送端程序调用发送接口,将消息发给指定的通道,接收端程序调用接收接口,订阅指定的通道,并开始消息接收。程序之间消息是单一维度隔离,并且是固定的,接收端程序只能收到同一个态下的发送端程序发出的消息。
在新一代电网调度控制系统中,引入了场景、场景实例、子场景、子场景实例四元组信息对系统的应用进行更精细化的管理。多场景环境下的应用程序对消息传递提出了新的需求,仅实现单一维度的消息隔离,并不能满足应用程序间消息互通与隔离的需要,阻碍了不同层级之间消息的交互。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种多层级维度环境下的消息收发方法、收发装置、服务器及系统,能够根据收发装置所在层级位置进行消息的收发。
为解决现有技术问题,本发明公开了一种多层级维度环境下的消息收发方法,收发装置发送消息的过程为:
创建服务器对象;调用包含多个层级信息的注册接口以完成相应层级消息实例注册;通知服务器当前消息通道及所属层级;指定消息的通道号并发送消息至服务器;所述层级信息按等级由上到下依次包括场景、场景实例、子场景和子场景实例的四元组信息;
收发装置接收消息的过程为:
调用接收对应层级消息的注册接口;订阅消息的通道号;接收来自服务器的相应层级和通道号的消息。
进一步地,
所述收发装置发送消息的过程还包括:在发送消息前对对应层级的通道范围进行限定,若比当前层级低的消息的层级信息均为空,则在发送该消息时不进行层级信息的对比;
所述收发装置接收消息的过程还包括:在接收消息前对对应层级的通道范围进行限定,若比当前层级低的消息的层级信息均为空,则在接收该消息时不进行层级信息的对比。
本发明还提供了一种多层级维度环境下的消息收发方法,服务器接收消息的过程为:
接收来自收发装置的注册请求完成相应层级消息实例注册;接收来自收发装置的消息,并根据所述消息生成消息通道标识,所述消息通道标识包括域、层级信息和通道号;服务器根据消息通道标识确定消息所属层级;所述层级信息按等级由上到下依次包括场景、场景实例、子场景和子场景实例的四元组信息;
服务器发送消息的过程为:
接收来自收发装置的注册请求完成接收相应层级消息的注册;根据消息所属层级和通道号向收发装置发送对应层级的消息。
进一步地,
服务器在接收来自收发装置的注册请求时,若下一层级信息未指定,则该消息属于指定的上一层级,该消息在上一层级内互通。
进一步地,
服务器发送消息时将本收发装置所有订阅信息以组播的形式发送给系统内所有的收发装置;将本系统内的消息通道订阅信息以心跳报文的形式发送到其他关联系统。
本发明还提供了一种多层级维度环境下的消息收发装置,包括;
创建模块,用于创建服务器对象;
注册模块,用于调用包含多个层级信息的注册接口以完成相应层级消息实例注册;
通知模块,用于通知服务器当前消息通道及所属层级;
发送模块,用于指定消息的通道号并发送消息至服务器;
订阅模块,用于订阅消息的通道号;
调用模块,用于调用接收对应层级消息的注册接口;以及
接收模块,用于接收来自服务器的相应层级和通道号的消息。
本发明还提供了一种多层级维度环境下的服务器,包括:
注册模块,用于接收来自收发装置的注册请求完成相应层级消息实例注册;
接收模块,用于接收来自收发装置的消息,并根据所述消息生成消息通道标识,所述消息通道标识包括域、层级信息和通道号;
确定模块,用于根据消息通道标识确定消息所属层级;
以及
发送模块,用于根据消息所属层级和通道号向收发装置发送对应层级的消息。
本发明还提供了一种多层级维度环境下的消息收发系统,包括收发装置和服务器;
所述收发装置包括:
创建模块,用于创建服务器对象;
注册模块,用于调用包含多个层级信息的注册接口以完成相应层级消息实例注册;
通知模块,用于通知服务器当前消息通道及所属层级;
发送模块,用于指定消息的通道号并发送消息至服务器;
订阅模块,用于订阅消息的通道号;
调用模块,用于调用接收对应层级消息的注册接口;以及
接收模块,用于接收来自服务器的相应层级和通道号的消息;
所述服务器包括:
注册模块,用于接收来自收发装置的注册请求完成相应层级消息实例注册;
接收模块,用于接收来自收发装置的消息,并根据所述消息生成消息通道标识,所述消息通道标识包括域、层级信息和通道号;
确定模块,用于根据消息通道标识确定消息所属层级;
以及
发送模块,用于根据消息所属层级和通道号向收发装置发送对应层级的消息。
本发明具有的有益效果:能够实现电网调度控制系统多维度环境下的多层级消息传送与分发,满足不同应用业务灵活设定消息收发范围的需求,有效地支撑了场景、场景实例、子场景、子场景实例之间的消息隔离与互通需求。
附图说明
图1为本发明中消息收发示意图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明提供了一种消息收发方法,应用于电脑网调度系统,涉及收发装置和服务器之间的消息的发送和接收,具体地:
对于系统内的一个收发装置,其发送消息的过程为:
首先创建一个服务器对象(即系统后台的消息总线对象),然后调用包含层级信息的注册接口以完成消息实例注册,通知服务器当前消息通道及所属层级,最后通过UnixDomain Socket向服务器发送消息。层级信息为包含场景、场景实例、子场景和子场景实例的四元组信息。
在一个实施例中,收发装置收发消息时,均设定了对应层级的通道限定范围;比当前层级低的层级信息均设为空,在消息收发时不进行对比。
如图1所示,在一个实施例中,收发装置P1调用系统级接口,因此消息层级为系统级,收发装置P1发送消息到通道5,由于是系统级范围的消息,所有本系统的场景级收发装置C1、场景实例级收发装置C2、子场景级收发装置C3,都会收到该消息。
收发装置P2调用场景级接口以完成场景级消息实例注册,然后发送消息到通道5,所有层级在场景级及更低层的收发装置(场景名为:realtime,订阅通道:5)都会收到该消息。例如收发装置C1、收发装置C2、收发装置C3,都会收到该消息。
收发装置P3调用子场景级接口以完成子场景级消息实例注册(注册场景名为:realtime,场景实例编号:1,子场景名:public),然后发送消息到通道5,只有子场景级收发装置C3(注册场景名为:realtime,场景实例编号:1,子场景名:public)会收到消息,等级较高的场景级收发装置C1和场景实例级收发装置C2均收不到该消息。
收发装置接收消息的过程为:
订阅消息的通道号;调用接收对应层级消息的注册接口;接收来自服务器的相应层级和通道号的消息。
如图1所示,在一个实施例中,对于场景级收发装置C1,调用注册接口时,如果仅提供了场景参数(即注册场景名称:realtime),例如而没有指定场景实例、子场景和子场景实例,则认为该收发装置C1在接收消息时关注的消息层级是场景级。
在一个实施例中,收发装置C2在调用注册接口时,提供了场景、场景实例参数(即注册场景名:realtime,场景实例编号:1),订阅了通道5,则认为该收发装置C2关注的消息层级是场景实例级。
在一个实施例中,收发装置C3在调用注册接口时,提供了场景、场景实例、子场景参数(注册场景名为:realtime,场景实例编号:1,子场景名:public),订阅了通道5,则认为该消息接收者关注的消息层级是子场景级。
对于系统内的一个服务器(即后台消息总线),其接收消息的过程为:接收来自收发装置的注册请求完成相应层级消息实例注册;接收来自收发装置的消息,服务器根据所述消息生成消息通道标识,所述消息通道标识包括8位的域ID、4位的场景ID、16位的场景实例ID、4位的子场景ID、16位的子场景实例ID和16位的通道号组成的64位长整形数据;服务器根据消息通道标识确定消息所属层级。
服务器发送消息的过程为:接收来自收发装置的注册请求完成接收相应层级消息的注册;根据消息所属层级和通道号向收发装置发送对应层级的消息。
在一个实施例中,服务器在发送消息时,通过对比收发装置的消息通道标识和本收发装置的通道订阅信息,例如比对消息层级和通道号等信息,将消息通过Unix DomainSocket发送给与订阅该消息的收发装置的通道限定范围一致、或者大于消息发送收发装置通道范围的相关应用程序。
在一个实施例中,服务器在接收来自收发装置的注册请求时,若下一层级信息未指定,则该消息属于指定的上一层级,该消息在上一层级内互通。
在一个实施例中,服务器发送消息时将本收发装置所有订阅信息以组播的形式发送给系统内所有的收发装置,以确保系统内所有收发装置都有整个系统内所有收发装置的通道订阅信息;服务器将本系统内的消息通道订阅信息以心跳报文的形式发送到其他关联系统,以确保相关系统间的通道订阅信息互相可见。
本发明中,可以按多维度组织,不同维度的应用间有消息隔离与互通需求。收发装置向服务器注册时,不再是提供一维的、固定的态信息,而是提供可变的层级信息。消息发送者可以根据需要灵活地注册到不同的层级,然后将消息发送给特定层级的消息接收者;消息接收者根据需要注册到特定的消息层级,以获取到相应层级的消息。
本发明还提供了一种消息收发系统,应用于电网调度系统,包括收发装置和服务器。
所述收发装置包括创建模块、注册模块、通知模块、发送模块、订阅模块、调用模块以及接收模块。
创建模块用于创建服务器对象;注册模块用于调用包含多个层级信息的注册接口以完成相应层级消息实例注册;通知模块用于通知服务器当前消息通道及所属层级;发送模块用于指定消息的通道号并发送消息至服务器;订阅模块用于订阅消息的通道号;调用模块用于调用接收对应层级消息的注册接口;接收模块用于接收来自服务器的相应层级和通道号的消息。
所述服务器包括注册模块、接收模块、确定模块以及发送模块。注册模块用于接收来自收发装置的注册请求完成相应层级消息实例注册;接收模块用于接收来自收发装置的消息,并根据所述消息生成消息通道标识,所述消息通道标识包括域、层级信息和通道号;确定模块用于根据消息通道标识确定消息所属层级;发送模块用于根据消息所属层级和通道号向收发装置发送对应层级的消息。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (8)
1.一种多层级环境下的消息收发方法,其特征在于:
收发装置发送消息的过程为:
创建服务器对象;调用包含多个层级信息的注册接口以完成相应层级消息实例注册;通知服务器当前消息通道及所属层级;指定消息的通道号并发送消息至服务器;所述层级信息按等级由上到下依次包括场景、场景实例、子场景和子场景实例的四元组信息;
收发装置接收消息的过程为:
调用接收对应层级消息的注册接口;订阅消息的通道号;接收来自服务器的相应层级和通道号的消息。
2.根据权利要求1所述的一种多层级环境下的消息收发方法,其特征在于:
所述收发装置发送消息的过程还包括:在发送消息前对对应层级的通道范围进行限定,若比当前层级低的消息的层级信息均为空,则在发送该消息时不进行层级信息的对比;
所述收发装置接收消息的过程还包括:在接收消息前对对应层级的通道范围进行限定,若比当前层级低的消息的层级信息均为空,则在接收该消息时不进行层级信息的对比。
3.一种多层级环境下的消息收发方法,其特征在于:
服务器接收消息的过程为:
接收来自收发装置的注册请求完成相应层级消息实例注册;接收来自收发装置的消息,并根据所述消息生成消息通道标识,所述消息通道标识包括域、层级信息和通道号;服务器根据消息通道标识确定消息所属层级;所述层级信息按等级由上到下依次包括场景、场景实例、子场景和子场景实例的四元组信息;
服务器发送消息的过程为:
接收来自收发装置的注册请求完成接收相应层级消息的注册;根据消息所属层级和通道号向收发装置发送对应层级的消息。
4.根据权利要求3所述的一种多层级环境下的消息收发方法,其特征在于:
服务器在接收来自收发装置的注册请求时,若下一层级信息未指定,则该消息属于指定的上一层级,该消息在上一层级内互通。
5.根据权利要求3所述的一种多层级环境下的消息收发方法,其特征在于:
服务器发送消息时将本收发装置所有订阅信息以组播的形式发送给系统内所有的收发装置;将本系统内的消息通道订阅信息以心跳报文的形式发送到其他关联系统。
6.一种多层级环境下的消息收发装置,其特征在于:
包括;
创建模块,用于创建服务器对象;
注册模块,调用包含多个层级信息的注册接口以完成相应层级消息实例注册;
通知模块,用于通知服务器当前消息通道及所属层级;
发送模块,用于指定消息的通道号并发送消息至服务器;
订阅模块,用于订阅消息的通道号;
调用模块,用于调用接收对应层级消息的注册接口;以及
接收模块,用于接收来自服务器的相应层级和通道号的消息。
7.一种多层级环境下的消息收发服务器,其特征在于:包括:
注册模块,用于接收来自收发装置的注册请求完成相应层级消息实例注册;
接收模块,用于接收来自收发装置的消息,并根据所述消息生成消息通道标识,所述消息通道标识包括域、层级信息和通道号;
确定模块,用于根据消息通道标识确定消息所属层级;以及
发送模块,用于根据消息所属层级和通道号向收发装置发送对应层级的消息。
8.一种多层级环境下的消息收发系统,其特征在于:包括收发装置和服务器;
所述收发装置包括:
创建模块,用于创建服务器对象;
注册模块,调用包含多个层级信息的注册接口以完成相应层级消息实例注册;
通知模块,用于通知服务器当前消息通道及所属层级;
发送模块,用于指定消息的通道号并发送消息至服务器;
订阅模块,用于订阅消息的通道号;
调用模块,用于调用接收对应层级消息的注册接口;以及
接收模块,用于接收来自服务器的相应层级和通道号的消息;
所述服务器包括:
注册模块,用于接收来自收发装置的注册请求完成相应层级消息实例注册;
接收模块,用于接收来自收发装置的消息,并根据所述消息生成消息通道标识,所述消息通道标识包括域、层级信息和通道号;
确定模块,用于根据消息通道标识确定消息所属层级;以及
发送模块,用于根据消息所属层级和通道号向收发装置发送对应层级的消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911016969.7A CN111104231B (zh) | 2019-10-24 | 2019-10-24 | 多层级环境下的消息收发方法、收发装置、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911016969.7A CN111104231B (zh) | 2019-10-24 | 2019-10-24 | 多层级环境下的消息收发方法、收发装置、服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111104231A CN111104231A (zh) | 2020-05-05 |
CN111104231B true CN111104231B (zh) | 2022-10-14 |
Family
ID=70421482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911016969.7A Active CN111104231B (zh) | 2019-10-24 | 2019-10-24 | 多层级环境下的消息收发方法、收发装置、服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104231B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637044A (zh) * | 2020-12-11 | 2021-04-09 | 国电南瑞科技股份有限公司 | 一种基于远程服务的消息跨区转发系统及方法 |
CN113254839B (zh) * | 2021-06-18 | 2021-09-28 | 每日互动股份有限公司 | 一种逐层式的消息分发方法、电子客户端及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660709B (zh) * | 2015-03-12 | 2017-10-31 | 国家电网公司 | 一种基于iec61850的用电数据采集系统及其工作方法 |
CN105357333B (zh) * | 2015-11-21 | 2019-01-15 | 浙江宇视科技有限公司 | 一种国标编码注册服务器及视频监控系统 |
CN108234584A (zh) * | 2016-12-22 | 2018-06-29 | 北京奇虎科技有限公司 | 基于变更订阅构建移动广告的方法和装置 |
-
2019
- 2019-10-24 CN CN201911016969.7A patent/CN111104231B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111104231A (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102377686B (zh) | 一种消息订阅系统、消息订阅方法及装置 | |
US10701664B2 (en) | Method and apparatus for reducing access overhead from paged device in machine to machine communication system | |
CA1279933C (en) | Local area network for digital data processing system | |
CN111104231B (zh) | 多层级环境下的消息收发方法、收发装置、服务器及系统 | |
CN101764831A (zh) | 一种流媒体数据共享方法、共享系统和流媒体节点 | |
WO2003032606B1 (en) | Event related communications | |
CN101026623B (zh) | Ip数字广播系统中的igmp网络设备及其信号处理控制方法 | |
CN101971649B (zh) | 提供业务的方法与设备 | |
CN106332177B (zh) | 一种实现成员资源处理的方法及装置 | |
CN101946482B (zh) | 用于分配系统中对非实时内容的有条件接入的方法和设备 | |
US20070038746A1 (en) | Event management methods and systems | |
CN113660121B (zh) | 基于分布式系统的信息管理方法、装置及计算机存储介质 | |
CN112087373B (zh) | 一种消息发送方法及业务装置 | |
CN112584373B (zh) | 事件订阅方法和装置 | |
CN101754180A (zh) | 一种订阅方法、终端及系统 | |
CN112968921A (zh) | 一种数据更新方法、装置和计算机可读存储介质 | |
CN111479211A (zh) | 终端定位信息的订阅控制方法和系统 | |
US11910355B2 (en) | Method and device of transmitting information and base station | |
CN114449036B (zh) | 一种定向分发消息的方法、装置及计算机设备 | |
CN108702745B (zh) | 利用公共资源进行数据传输的方法和装置 | |
CN114884564B (zh) | 一种基于dvb-rcs2协议的改进的超帧序列分配方法及通信系统 | |
CN113709234B (zh) | 服务提供方法及服务功能实体 | |
CN115103017B (zh) | 一种消息中间件处理系统及方法 | |
CN114978789B (zh) | 安防信息的智能发送方法、设备、服务器及介质 | |
CN101771946B (zh) | 基于基站的mbms业务控制信令更新方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |