分享
 
 
 

关于winMM通讯中间件程序的系统结构

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

接上篇:

一、 系统状态图结构

系统运行时状态图如下:

系统在三个开始状态上进行通讯处理,对于守护服务,从接收开始状态进入系统,建立子进程后,接收过程就交由子进程处理直到对方挂断或系统终止。发送过程有两个入口,一个是发送开始,一个是发送终止,每一次新的发送总是建立一个新的发送进程,并且注册一个新的发送通道,直到发送终止,才能撤消通道,销毁该子进程,或一次发送完成自动撤消通道销毁子进程。

接收过程的通道销毁和子进程的销毁是根据系统的进程退出机制进行的,该机制用以自动清理系统资源,和销毁作废进程。

建立通道时,系统定义可自动销毁或命令销毁两种通道,自动销毁则完成一次或一个通讯循环后自动销毁,否则必须按照命令规则或退出机制进行销毁。

二、 系统数据结构和程序结构

1、 共享内存名:WINMM_SHARE_MENORY_XXX

其中XXX为用途名,如: IN à接收用共享缓冲

OUTà发送用共享缓冲

DEADà死信队列用共享缓冲

2、 共享内存空间:由系统设定值给出,单位 KB。

在系统Config中有节[MEMORY_SPACE]中的键值给出:

SPACE_MEMORY_IN = xxxx //给出接收用共享内存的大小(KB)

SPACE_MEMORY_OUT = xxxx //给出发送用共享内存的大小(KB)

SPACE_MEMORY_DEAD = xxxx //给出死信用共享内存的大小(KB)

3、 发送队列结构

OUT_Qheader/OUT_QTAIL:队列指针[固定结构数组,0--300]

OUT_Idle_Pointer:共享内存空闲块链表,作为内部存储分配用。

结构如图:

中间件系统有自己的共享内存区的分配与释放程序和分配策略,因此,对共享内存设置的最小默认值不得小于1MB,对于需要图象数据或音视频数据传输用途的应用程序,缓冲区应该更大一些。

4、 接收队列结构

IN_Qheader/IN_QTAIL:队列指针[固定结构数组,0--300]

IN_Idle_Pointer:共享内存空闲块链表,作为内部存储分配用。

结构同上。

5、 死信队列结构

DEAD_Qheader/DEAD_QTAIL:队列指针[固定结构数组,0--300]

DEAD_Idle_Pointer:共享内存空闲块链表,作为内部存储分配用。

结构同上。

6、 系统内部结构

通道注册结构链表:

当有新通道请求操作时,首先检查是否该通道已经注册,然后决定是否建立新的注册。通道信息包括进程识别信息,socket信息,和标志信息等,一个通道被注册,表明有一个通讯子进程为该通道服务,此时,只需简单的将数据放入队列,该服务子进程自动处理相关数据。

链表在操作系统区域上被分配。

共享内存空闲块连表:

共享内存在系统的初始状态是一个整块存储区域,随着系统的数据收发,它被切割分配,形成不规则的小块,中间夹杂着已分配的块,因此形成了空闲块链表,该链表块的分配被切割,块的释放被回收,回收使相临的块合并。

链表在共享存储区域上操作。

7、 中间件程序结构

中间件引导服务程序:

系统服务程序,目的时引导中间件系统(根据注册表的安装信息),完成引导后,自动退出服务。注意,中间件系统程序可以手动启动,或直接由系统的启动菜单启动,因此,配置中间件系统的启动策略时,应该根据系统需求灵活设置。

中间件系统程序:

中间件系统主程序。

中间件环境设置程序:

完成中间件运行环境的设置。

三、 用户应用接口

用户应用程序接口以DLL动态连接库的形式提供,系统为每一种编程语言提供动态库函数说明文件,WinMM.Dll和WinMMC.H、WinMMP.Pas等,并给出说明和使用的例子。

应用程序需要将DLL拷贝到应用程序目录下才能使用接口,在发布应用程序时,动态库程序应随之一同发布。

安装完成中间件系统后,首次运行时,系统提示需要软件锁,插入随系统附带的软件锁后,中间件获得系统运行许可。

四、 Cfg设置程序

安装了中间件程序后,使用设置程序可以设置中间件的运行环境,运行环境的改变需要重新启动系统才能有效。

中间件作为系统的一个服务,在系统启动时自动启动。

设置程序用系统注册表探知中间件的安装状态和安装信息。设置程序随中间件安装一道被安装在系统的中间件目录下。

向用户发布使用中间件的应用系统,必须安装中间件,并且正确设置运行环境。

五、 说明文档

安装说明:是中间件程序安装帮助文档,帮助用户正确的安装中间件系统。

设置说明:是中间件运行环境设置帮助文档,帮助用户正确的设置中间件系统的运行环境,和调整中间件系统的运行状态、占用资源。

六、 附录

中间件系统常见故障的排除:

系统提示信息注释:

名词解释:

注意:本概要设计是对中间件系统结构进行的框架式设计,细节设计请参看系统设计说明书。

2004/4/27 CCC

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有