一种可配置的服务器引擎的路由选择器的设计方法

文档序号:9730083阅读:328来源:国知局
一种可配置的服务器引擎的路由选择器的设计方法
【技术领域】
[0001]本发明涉及计算机主机安全领域,具体地说是一种可配置的服务器引擎的路由选择器的设计方法。
【背景技术】
[0002]近十年来,信息技术尤其是计算机网络技术得到了飞速发展。人们得益于信息革命带来的巨大机遇的同时,各种服务器通信框架应运而生,为开发人员二次开发提供了方便。现有路由选择器在处理不同的业务时,需要修改引擎的代码才能完成开发定制的工作,二次开发的工作量非常大,导致研发成本很高。
[0003]公开的相关专利文件:名称为“信号路由选择器及信号路由方法”,该文件公开了“一种信号路由选择器(14),用于通过多条备选路由之一对源端(1)与目的端(2,5,6)之间的信号进行路由。此信号路由选择器包括用于确定源端和目的端之间已选路由上的传输是否成功的响应监测器(17)、用于维护所述路由上传输成功失败的记录并确定任何路由上成功的传输概率的装置(18)、以及用于根据备选路由的成功概率来选择传输路由的路由选择
目.ο
[0004]上述公开文件与本
【发明内容】
要解决的技术问题,采用的技术手段都不相同。

【发明内容】

[0005]本发明的技术任务是提供一种可配置的服务器引擎的路由选择器的设计方法。 本发明的技术任务是按以下方式实现的,该路由选择器包含业务管理模块、路由管理模块和节点通信模块;
业务管理模块:简称ΒΜ模块,通过XML配置文件设置多个业务节点中的每个业务节点的配置信息,通过加载以上配置文件初始化节点,为每一个节点新建一个进程;每个业务节点都有一个节点名称对应的.def的配置文件,通过.def配置文件设置该节点的具体业务;路由管理模块:简称RM模块,根据route.xml文件设置的路由表,将接收到的消息发送到目的节点的进程;
节点通信模块:节点间的通信方式采用结合管道和消息队列相结合的方式,将消息写入消息队列,同时向管道中写入一个字节的信息,标识队列中有数据可读;从消息队列读数据,首先从管道中读取一个字节的信息,判断消息队列有数据可读。
[0006]所述的设置节点的具体业务可以是简单的预处理,通过配置文件即可完成;也可以是复杂的业务逻辑,通过编写动态库实现。
[0007]所述的消息队列源文件主要包含消息队列底层驱动函数和用来处理队列数据缓冲的公共函数,包括消息队列的创建、连接、删除功能函数的封装;服务器引擎会一定间隔时间扫描一遍数据缓冲,并把能发送的数据发送到指定队列消息队列中,同时设置了最大缓冲时间,超过时间的删除消息。
[0008]该路由选择器的工作流程如下: 1)启动程序;
2)进行初始化工作;
3)接收数据;
4)代码编译并执行DECLARE部分代码;
5)执行BEGIN-END部分代码;
6)发送数据到目标节点。
[0009]本发明的一种可配置的服务器引擎的路由选择器的设计方法和现有技术相比,可以通过配置文件灵活订制所需要的业务处理流程和多个业务模块之间数据的路由;根据不同的业务,只需要编写配置文件和动态库,无需修改引擎的代码即可完成开发定制的工作,大大的节省二次开发的工作量,必将成为未来服务器引擎技术发展的趋势。
【附图说明】
[0010]附图1为一种可配置的服务器引擎的路由选择器的工作流程图。
【具体实施方式】
[0011]实施例1:
该路由选择器包含业务管理模块、路由管理模块和节点通信模块;
业务管理模块:简称BM模块,通过XML配置文件设置多个业务节点中的每个业务节点的配置信息,通过加载以上配置文件初始化节点,为每一个节点新建一个进程;每个业务节点都有一个节点名称对应的.def的配置文件,通过.def配置文件设置该节点的具体业务;可以是简单的预处理,通过配置文件即可完成;也可以是复杂的业务逻辑,通过编写动态库实现。
[0012]举例说明,一般的处理流程为根据接收报文中的执行码(act_c0d)来执行不同的动态库,具体nodel.def的内容如下:
DECLARE
BEGIN
STEP001:
SET #sysl="00001"
GOTO STEP003STEP002:
CHECK #act_codeGOTO STEP003 IF 8501GOTO STEP004 IF 8502STEP003:
DO update—1000 GOTO STEP005 STEP004:
DO waf—update—2000 GOTO STEP005STEP005
END
其中:DECLARE关键字为准备工作;
BEGIN关键字为标识配置文件的开始;
END关键字标识配置文件的结束;
CHECK关键字检查变量的值;
IF关键字为条件判断;
DO关键字为执行相应名称的动态库;
GOTO关键字为跳转语句。
[0013]路由管理模块:简称RM模块,根据route.xml文件设置的路由表,将接收到的消息发送到目的节点的进程;
路由配置文件route, xml的配置实例如下:
<?xml vers1n: 〃1.0〃 encoding: 〃GBK〃 ?>
〈ROUTE〉
〈ENTRY TARGET=〃front_req〃 C0NTINUE=〃TRUE〃 SEQ=〃0">
〈CHECK NAME="$nodeO〃 VALUE="front" />
〈CHECK NAME="$nodel〃 VALUE="front" />
〈/ENTRY〉
〈ENTRY TARGET=〃mif〃 C0NTINUE=〃TRUE〃 SEQ=〃1〃>
〈CHECK NAME="$nodeO〃 VALUE="front" />
<CHECK NAME="$nodel〃 VALUE=//front_req// />
〈/ENTRY〉
〈ENTRY TARGET=〃front_res〃 C0NTINUE=〃TRUE〃 SEQ=〃2">
〈CHECK NAME="$nodeO〃 VALUE="front" />
〈CHECK NAME="$nodel〃 VALUE="mif" />
〈/ENTRY〉
〈ENTRY TARGET=〃front〃 SEQ=〃3〃>
〈CHECK NAME="$nodeO〃 VALUE="front" />
<CHE
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1