可信计算的hello

可信的Hello,world!

本次基于上次的Hello实例来对CUBE架构的配置运行状况进行简单分析。

Hello实例用来演示实例的模块配置和消息分发等基本功能,它是通过三个系统模块hello模块、echo模块和print模块来实现“hello,world”消息的输出的。Hello模块输出(MESSAGE,BASE_MSG)格式的hello消息,echo模块收到消息后,将消息原样输出,print模块收到消息后,在终端输出消息记录内容。Hello实例中的消息路由策略则配置了(MESSAGE,BASE_MSG)

格式消息的Hello-echo-print模块的传输路径,这一过程可以用下图描述:在这里插入图片描述

消息流程图比较直观地体现了场景的设计思想,根据消息流程图,所以通常我们用消息流程图来描述所设计的应用场景。确定消息流程图后,记录、模块和消息流程的设计相对就比较明确了。

下面来介绍这一消息流程是如何实现的。

实例的启动与配置文件

通常使用cube-1.3/proc/main目录下的envset_proc程序来启动实例,该程序会读入配置文件后,根据配置文件的内容来设置环境,并启动实例。所设置的环境一般包括CUBE记录定义所在目录、CUBE模块所在目录以及CUBE实例的目录。

envset_proc运行时,需要在LD_LIBRARY_PATH中设置cube-1.3/cubelib/lib以方便envset_proc调用,为省去路径输入过程和方便LD_LIBRARY_PATH设置,我们通过run_cube.sh脚本来调用envset_proc。envset_proc读入的配置文件为_hello.def,其中定义了实例目录的位置(CUBE_APP_PATH+INSTANCE)。

实例目录在实例运行前,一般包含实例的配置文件(*.cfg)以及实例的输入文件,运行后会多出跟踪日志文件(*.log),以及一些输出文件,有些需要储存数据的实例会在实例目录的lib子目录下建立数据库文件(*.lib)。

一般来说实例所需的配置文件如下表所示:

配置文件名称 缺省文件名 主要配置内容 备注
主进程配置文件 main_config.cfg 定义实例的名称以及实例初始运行时需载入的记录项文件。 在一台机器上的不同Cube实例,实例名需唯一,不在同一台机器上的实例名可以相同
主进程系统描述文件 sys_config.cfg 主要用来给出实例中记录项格式的定义文件。 -
plugin_config.cfg 载入模块的本地名称、对应模块库中模块插件对应模块名称、以及插件初始参数信息 -
连接配置文件 connector_config.cfg 连接配置文件,可以为网络连接子模块配置连接 目前仅限于TCP/IP的服务器端和客户端,地址端口相对应的服务器端和客户端将会自动连接
普通路由策略文件 router_policy.cfg 路由配置文件,确定Cube实例中普通消息路由策略。 包含多个路由策略,作为确定系统中各种消息的分发规则
切面路由策略文件 aspect_policy.cfg 切面路由配置文件,确定Cube实例中切面路由策略。 切面路由对正常的消息传递透明,不影响正常消息传输工作

在hello实例中,只有三个配置文件,main_config.cfg, plugin_config.cfg和router_policy.cfg。
在这里插入图片描述

main_config.cfg内容如下:

main_config.cfg:

{
	“proc_name”:”hello_proc”
}

该配置文件定义实例名称为hello_proc。

plugin_config.cfg:

{
    "name":"hello",
    "libname":"hello"
}
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值