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

文档序号:9730083阅读:来源:国知局
CK NAME="$nodel〃 VALUE=//front_res// />
〈/ENTRY〉
〈ENTRY TARGET=〃front_req〃 C0NTINUE=〃TRUE〃 SEQ=〃4">
〈CHECK NAME="$nodeO〃 VALUE="front_ssl" />
<CHECK NAME="$nodel〃 VALUE="front_ssl" />
〈/ENTRY〉
〈ENTRY TARGET=〃mif〃 C0NTINUE=〃TRUE〃 SEQ=〃5〃>
〈CHECK NAME="$nodeO〃 VALUE="front_ssl" />
<CHECK NAME="$nodel〃 VALUE=//front_req// />
〈/ENTRY〉
〈ENTRY TARGET=〃front_res〃 C0NTINUE=〃TRUE〃 SEQ=〃6〃> 〈CHECK NAME="$nodeO〃 VALUE="front_ssl" />
〈CHECK NAME="$nodel〃 VALUE="mif" />
〈/ENTRY〉
〈ENTRY TARGET=〃front_ssl〃 SEQ=〃7">
〈CHECK NAME="$nodeO〃 VALUE="front_ssl" />
<CHECK NAME="$nodel〃 VALUE=//front_res// />
〈/ENTRY〉
〈/ROUTE〉
其中,ENTRY代表一个路由;
CHECK匹配成功则执行;
TARGET下一个目标节点
SEQ路由的顺序,为了路由表直观引入。
[0014]节点通信模块:节点间的通信方式采用结合管道和消息队列相结合的方式,将消息写入消息队列,同时向管道中写入一个字节的信息,标识队列中有数据可读;从消息队列读数据,首先从管道中读取一个字节的信息,判断消息队列有数据可读。
[0015]所述的消息队列源文件主要包含消息队列底层驱动函数和用来处理队列数据缓冲的公共函数,包括消息队列的创建、连接、删除功能函数的封装;服务器引擎会一定间隔时间扫描一遍数据缓冲,并把能发送的数据发送到指定队列消息队列中,同时设置了最大缓冲时间,超过时间的删除消息。
[0016]该路由选择器的工作流程如下:
1)启动程序;
2)进行初始化工作;
3)接收数据;
4)代码编译并执行DECLARE部分代码;
5)执行BEGIN-END部分代码;
6)发送数据到目标节点。
[0017]以上模块相关的数据结构如下:
业务节点数据结构:
typedef struct{
int lockid; /*锁序号*/char name[32]; /*节点名称*/int pid; /*进程号*/int status; /*启动状态 */
}TN0DE
变量节点的数据结构: typedef struct _t_varnode{ char name[MAX_VARNAME_LEN]; char type; /**a_字符,b_二进制**/ char *value; short length; /**二进制数据表示长度,**/ struct _t_varnode *next;
}TVARN0DE;
通过上面【具体实施方式】,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种【具体实施方式】。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
【主权项】
1.一种可配置的服务器引擎的路由选择器的设计方法,其特征在于,该路由选择器包含业务管理模块、路由管理模块和节点通信模块; 业务管理模块:简称BM模块,通过XML配置文件设置多个业务节点中的每个业务节点的配置信息,通过加载以上配置文件初始化节点,为每一个节点新建一个进程;每个业务节点都有一个节点名称对应的.def的配置文件,通过.def配置文件设置该节点的具体业务; 路由管理模块:简称RM模块,根据route.xml文件设置的路由表,将接收到的消息发送到目的节点的进程; 节点通信模块:节点间的通信方式采用结合管道和消息队列相结合的方式,将消息写入消息队列,同时向管道中写入一个字节的信息,标识队列中有数据可读;从消息队列读数据,首先从管道中读取一个字节的信息,判断消息队列有数据可读。2.根据权利要求1所述的一种可配置的服务器引擎的路由选择器的设计方法,其特征在于,所述的设置节点的具体业务可以是简单的预处理,通过配置文件即可完成;也可以是复杂的业务逻辑,通过编写动态库实现。3.根据权利要求1所述的一种可配置的服务器引擎的路由选择器的设计方法,其特征在于,所述的消息队列源文件主要包含消息队列底层驱动函数和用来处理队列数据缓冲的公共函数,包括消息队列的创建、连接、删除功能函数的封装;服务器引擎会一定间隔时间扫描一遍数据缓冲,并把能发送的数据发送到指定队列消息队列中,同时设置了最大缓冲时间,超过时间的删除消息。4.根据权利要求1所述的一种可配置的服务器引擎的路由选择器的设计方法,其特征在于,该路由选择器的工作流程如下: 1)启动程序; 2)进行初始化工作; 3)接收数据; 4)代码编译并执行DECLARE部分代码; 5)执行BEGIN-END部分代码; 6)发送数据到目标节点。
【专利摘要】本发明公开了一种可配置的服务器引擎的路由选择器的设计方法,该路由选择器包含业务管理模块、路由管理模块和节点通信模块;通过XML配置文件设置每个业务节点的配置信息,初始化节点,为每一个节点新建一个进程;通过.def配置文件设置该节点的具体业务;根据route.xml文件设置的路由表,将接收到的消息发送到目的节点的进程;采用结合管道和消息队列相结合的方式将消息写入消息队列,标识队列中有数据可读;从消息队列读数据,首先从管道中读取一个字节的信息,判断消息队列有数据可读。本发明可以通过配置文件灵活订制所需要的业务处理流程和多个业务模块之间数据的路由;大大的节省二次开发的工作量,必将成为未来服务器引擎技术发展的趋势。
【IPC分类】H04L12/715, H04L12/751
【公开号】CN105490938
【申请号】CN201610063578
【发明人】梁媛
【申请人】浪潮电子信息产业股份有限公司
【公开日】2016年4月13日
【申请日】2016年1月29日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1