CN105553814A - 基于信息池的信息传递机制 - Google Patents
基于信息池的信息传递机制 Download PDFInfo
- Publication number
- CN105553814A CN105553814A CN201510545946.0A CN201510545946A CN105553814A CN 105553814 A CN105553814 A CN 105553814A CN 201510545946 A CN201510545946 A CN 201510545946A CN 105553814 A CN105553814 A CN 105553814A
- Authority
- CN
- China
- Prior art keywords
- message
- pool
- component
- information
- model
- 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.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
一种基于信息池的信息传递机制,涉及系统消息池模型、构件模型、消息池化技术以及消息传递协议。在构件上挂载消息池,构件之间的通信通过消息传递完成,消息在消息池之间传输。每一个构件有一个挂载的消息池,一方面用于存储本地构件的计算结果,另一方面用于接收来自其它构件的消息。本发明的实施例提供一种基于信息池的信息传递机制,一种在应用程序层统一实现消息池模型、构件模型以及消息传递协议方案。消息协议规定了构件之间的消息访问规则,消息池之间遵循消息协议进行通信,能够克服现行主流的层次消息总线风格中存在的消息总线负载过重、同步控制困难等缺点,并能简化系统设训一过程。
Description
技术领域
本发明涉及基于信息池的信息传递技术领域,尤其涉及系统消息池模型、构件模型、消息池化技术以及消息传递协议。
背景技术
消息池化需要首先将大量的消息内容(文本甚或图片)从用户需求中抽取出来并作归类,对于周期性的项目而言这一步骤即费时也未必能够符合用户需求反复变更的需要。也可以在系统开发后期或者维护、升级期间通过扩展的方式将补充的消息内容添加进来,但这同样需要系统在设计阶段就考虑到后期的种种变数并预留出扩展的接口。而对于实时性要求较高的系统,比如生产制造业管理软件采用消息池化同样也不合适。因为消息池化实现过程中要将大量的消息内容(文本甚至图片)通过网络传播,其间的开销是不可小视的。应用到实时性高的系统中时不可避免的会产生各种问题。
消息池化技术推荐您根据需要将消息内容放在适当的位置,每个系统的需求和实现方案都有或多或少的差异,存放消息内容的位置直接影响到系统整体的性能,因此必须也只能根据自己的特点进行权衡。消息池化表示将在内存中某处存在消息,可以把这堆消息放在服务端也可以放在客户端。对于前者,客户端需要频繁的向服务端发送请求,获取所需的消息内容;对于后者,客户端除了要把所有消息内容从服务端拉到本地,还要负责维护消息池的状态和有效性,也许还要考虑同步等诸多问题。
系统实施基于信息池的信息传递机制的好处:在构件上挂载伴随消息池,消息池之间遵循事先订立的消息协议进行通信,能够克服现行主流的层次消息总线风格中存在的消息总线负载过重、同步控制困难等缺点,并能简化系统设训一过程,支持分布式系统以及软件产品线设计。
发明内容
为了克服现有的涉及基于信息池的信息传递技术领域的不足,本发明提供一种基于信息池的信息传递机制,构件是独立的计算模块,可以用任何语言进行编写.构件之间的通信仍是通过消息传递完成的,消息在消息池之间传输.每一个构件有一个挂载的消息池,消息池是消息的载体,一方面用于存储本地构件的计算结果,另一方面用于接收来自其它构件的消息。一种在应用程序层统一实现消息池模型、构件模型以及消息传递协议方案,消息协议规定了构件之间的消息访问规则,消息传输路径的选择依据静态的消息传递协议。在系统稳定运行的情况下,构件之间的消息传递的内容和方向是固定的,因此没有必要在系统运行时动态地进行消息路由。
本发明解决其技术问题所采用的技术方案是:Output消息池负责接收构件的状态变化信息。如果构件在运行过程中发生了状态变化,那么构件的状态数据将转存于消息池,等待其它构件来取;对方取毕后消息池负责销毁该消息,并回收内存,以便接收新的消息.如果该消息为多个其它构件所用,那么消息池在所有需求构件都取毕之后再进行销毁。Input消息池负责接收其它构件的消息并通知构件消息已经到达。构件可以选择马上处理或者暂缓处理,如果选择暂缓处理,消息池将一直为构件保存这条消息,处理完毕后消息池才回收该消息空间。
本发明的有益效果是,采用基于信息池的信息传递机制,由于消息的直接传递减少了消息的分派和过滤动作。消息的登记和传递记录在预先订立的消息传递协议中.消息传递协议就是将消息的传递管理从总线功能中剥离出来,大大缩短了系统运行时的计算时间,或用静态的协议换取动态的路由过程;另一方面消息传递与构件的业务逻辑计算分离开,降低了系统设计的复杂度。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1为本发明实例基于信息池的信息传递软件体系图。
图2为本发明实例消息池服务器图。
图3为本发明实例消息池模型图。
图4为本发明实例基于信息池的信息传递软件构建模型图。
图5为本发明实例XML格式的消息传递协议代码图。
图6为本发明实例信息交互示意图。
图7为本发明实例消息池系统模块图。
具体实施方式
在图4中,表示了基于信息池的信息传递软件构建模型的所有实体和步骤。基于信息池的信息传递软件构建模型在消息传递设置了一个新的实体消息模块。消息模块主要负责与消息池的联系,从消息池获取消息或者将状态变化写入消息池.业务逻辑模块则用于核心业务逻辑的计算.基于信息池的信息传递支持系统自顶向下进行层次化分解,一个构件可以由多个子构件组装而成.每个子构件可以挂载各自的消息池,但是多个子构件共享同一个外部消息池,即子构件由同一个消息模块向同一个消息池传输数据。
在图7中,系统实现基于信息池的信息传递运行过程如下:
1.将所有的消息内容放在资源文件(Resource)中,资源文件可以被编译并嵌在程序集dll中(.net)。存放消息内容的资源文件被放置在服务器端,由客户端请求并获取。
2.在客户端从服务端请求服务的过程中,服务端是被动的和无状态的,它的职责就是从资源文件中读取全部的消息内容,并通过合适的载体通过网络发送给客户端,由客户端接受并进行处理。对于Internet的应用,使用XMLWebServervice技术,通过XML序列化及SOAP协议解决防火墙的困扰。使用List<string>将文本类型的消息内容承载起来,它既支持二进制序列化也支持XML序列化,非常方便。
3.客户端从服务端请求并获取到消息流以后,要在本地作消息缓存。这一过程还需简单的处理,因为服务端发送过来的消息列表并没有明确的分类,也不方便本地根据消息名称索引具体的消息内容,也就是说还要实现根据“消息A”这个名字找到消息A的内容这样的效果。采用键值对这样的散列方式,Dictionary<string,string>(.net中Dictionary数据类型的泛型版本)构建三类键值对,包括错误信息集合Errors,警告信息集合Warnings,普通信息集合Informations。这些信息集合应当作为全局对象一直缓存于内存中,它们共同组成了一个消息池,向前台的Form或Web界面提供消息来源,直至客户端关闭。
Claims (4)
1.基于信息池的信息传递机制,其特征是:基于构件的信息池消息传递机制,基于应用程序层统一实现的消息池模型、构件模型以及消息传递协议方案;基于信息池的信息传递软件构建模型;在构件上挂载伴随消息池,消息池之间遵循事先订立的消息协议进行通信,能够克服现行主流的层次消息总线风格中存在的消息总线负载过重、同步控制困难等缺点,并能简化系统设训一过程,支持分布式系统以及软件产品线设计。
2.根据权利要求1所述的基于构件的信息池消息传递机制,其特征是:构件是独立的计算模块,可以用任何语言进行编写.构件之间的通信仍是通过消息传递完成的,消息在消息池之间传输.每一个构件有一个挂载的消息池,消息池是消息的载体,一方面用于存储本地构件的计算结果,另一方面用于接收来自其它构件的消息。
3.根据权利要求1所述的基于应用程序层统一实现的消息池模型、构件模型以及消息传递协议方案,其特征是:消息协议规定了构件之间的消息访问规则,消息传输路径的选择依据静态的消息传递协议。
4.根据权利要求1所述的基于信息池的信息传递软件构建模型,其特征是:在消息传递设置了一个新的实体消息模块。消息模块主要负责与消息池的联系,从消息池获取消息或者将状态变化写入消息池.业务逻辑模块则用于核心业务逻辑的计算.基于信息池的信息传递支持系统自顶向下进行层次化分解,一个构件可以由多个子构件组装而成.每个子构件可以挂载各自的消息池,但是多个子构件共享同一个外部消息池,即子构件由同一个消息模块向同一个消息池传输数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510545946.0A CN105553814A (zh) | 2015-08-31 | 2015-08-31 | 基于信息池的信息传递机制 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510545946.0A CN105553814A (zh) | 2015-08-31 | 2015-08-31 | 基于信息池的信息传递机制 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105553814A true CN105553814A (zh) | 2016-05-04 |
Family
ID=55832753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510545946.0A Pending CN105553814A (zh) | 2015-08-31 | 2015-08-31 | 基于信息池的信息传递机制 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105553814A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544778A (zh) * | 2016-06-28 | 2018-01-05 | 上海洋启投资中心 | 实现主题沟通的综合界面 |
WO2019076217A1 (zh) * | 2017-10-20 | 2019-04-25 | 阿里巴巴集团控股有限公司 | 直播消息的展示方法、装置及系统 |
-
2015
- 2015-08-31 CN CN201510545946.0A patent/CN105553814A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544778A (zh) * | 2016-06-28 | 2018-01-05 | 上海洋启投资中心 | 实现主题沟通的综合界面 |
WO2019076217A1 (zh) * | 2017-10-20 | 2019-04-25 | 阿里巴巴集团控股有限公司 | 直播消息的展示方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106888254B (zh) | 一种基于Kubernetes的容器云架构及其各模块之间的交互方法 | |
US10248415B2 (en) | Dynamic code generation and memory management for component object model data constructs | |
AU2019262823B2 (en) | Input and output schema mappings | |
CN108958796A (zh) | 业务请求处理方法及装置、业务请求处理系统 | |
US20230161758A1 (en) | Distributed Database System and Data Processing Method | |
CN112449750A (zh) | 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统 | |
CN107463418B (zh) | 一种服务器中间件的配置文件生成方法及装置 | |
CN108280522A (zh) | 一种插件式分布式机器学习计算框架及其数据处理方法 | |
CN103399894A (zh) | 一种基于共享存储池的分布式事务处理方法 | |
CN110769018A (zh) | 一种消息推送方法及装置 | |
CN111597035B (zh) | 基于多线程的仿真引擎时间推进方法及系统 | |
CN116325705A (zh) | 边缘计算环境中的管理任务流 | |
CN105553814A (zh) | 基于信息池的信息传递机制 | |
Goniwada et al. | Cloud native architecture and design patterns | |
Bonetta et al. | An architectural style for liquid web services | |
Cai et al. | Deployment and verification of machine learning tool-chain based on kubernetes distributed clusters: This paper is submitted for possible publication in the special issue on high performance distributed computing | |
CN108933813A (zh) | 在顺序保留数据流消耗期间防止读取器饥饿 | |
CN104133876A (zh) | 一种基于事务的增量式管理集群配置文件方法 | |
CN116954944A (zh) | 基于内存网格的分布式数据流处理方法、装置及设备 | |
CN103810267A (zh) | 一种异构pdm系统间的数据交互方法 | |
CN110955602A (zh) | 一种基于资源共享的分布式嵌入式软件测试系统 | |
CN102542040B (zh) | 分布式文件系统中的容量获取方法及容量获取系统 | |
CN115328608A (zh) | 一种Kubernetes容器垂直伸缩调节方法和装置 | |
CN106548331B (zh) | 一种确定发布顺序的方法及装置 | |
Krizevnik et al. | Improved SOA persistence architectural model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160504 |
|
WD01 | Invention patent application deemed withdrawn after publication |