1、(10)申请公布号 CN 103023766 A (43)申请公布日 2013.04.03 CN 103023766 A *CN103023766A* (21)申请号 201210484496.5 (22)申请日 2012.11.23 H04L 12/701(2013.01) (71)申请人 山东电力集团公司 地址 250001 山东省济南市市中区经二路 150 号 申请人 珠海许继电气有限公司 (72)发明人 李立生 李建修 邵志敏 李富生 吴六一 王彦垒 (74)专利代理机构 济南诚智商标专利事务所有 限公司 37105 代理人 王汝银 (54) 发明名称 基于表达式判断的动态路由方法 (
2、57) 摘要 本发明公开了一种基于表达式判断的动态 路由方法, 它包括以下步骤 : 1) 在总线流程设计 器中根据业务需求以图形化的方式设置表达式 ; 2) 发布设置的流程, 并生成表达式对象 ; 3) 将表 达式转化为二叉树 ; 4) 遍历二叉树得到逆波兰表 达式 ; 5) 对逆波兰表达式进行计算确定目的服务 ID ; 6) 根据目的服务 ID 向目的服务发送消息。本 发明避免了组件化设计, 一次设置可在多个业务 流程中复用 ; 表达式中支持变量和常量, 可进行 灵活设置 ; 减少接口的开发数量 ; 减少了系统间 的垃圾数据传输, 降低了网络带宽占用率。 (51)Int.Cl. 权利要求书
3、1 页 说明书 2 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 2 页 附图 1 页 1/1 页 2 1. 基于表达式判断的动态路由方法, 其特征是, 包括以下步骤 : 1) 设置表达式 : 在总线流程设计器中根据业务需求设置表达式 ; 2) 生成表达式对象 : 发布设置的流程, 并生成表达式对象 ; 3) 表达式转换 : 31) 将表达式转化为二叉树 ; 32) 遍历二叉树得到逆波兰表达式 ; 4) 确定目的服务 ID: 对逆波兰表达式进行计算确定目的服务 ID ; 5) 发送消息 : 根据目的服务 ID 向目的服务发送消息。 2
4、. 根据权利要求 1 所述的基于表达式判断的动态路由方法, 其特征是, 所述表达式以 图形化的方式进行设置。 3. 根据权利要求 1 所述的基于表达式判断的动态路由方法, 其特征是, 所述表达式支 持常量和变量。 权 利 要 求 书 CN 103023766 A 2 1/2 页 3 基于表达式判断的动态路由方法 技术领域 0001 本发明涉及一种路由方法, 具体地说是一种基于表达式判断的动态路由方法。 背景技术 0002 单个数据源的数据无法传输到多个接收服务中的某一个正确的服务, 传统的主要 通过以下两种方式传输 : 0003 第一种传输方式, 由于通过发布订阅技术将消息给每个服务发送一次,
5、 将导致系 统中垃圾数据过多 ; 0004 第二种传输方式, 通过请求回复方式, 这种传输方式势必需要在数据源中需要多 个服务分别对其进行处理, 导致开发工作量大。 发明内容 0005 为克服上述现有技术存在的不足, 本发明提供了一种基于表达式判断的动态路由 方法, 其不仅数量开发量小, 而且大大减少了各系统垃圾数据的接收量。 0006 本发明解决其技术问题所采取的技术方案是 : 基于表达式判断的动态路由方法, 其特征是, 包括以下步骤 : 0007 基于表达式判断的动态路由方法, 其特征是, 包括以下步骤 : 0008 1) 设置表达式 : 在总线流程设计器中根据业务需求设置表达式 ; 00
6、09 2) 生成表达式对象 : 发布设置的流程, 并生成表达式对象 ; 0010 3) 表达式转换 : 0011 31) 将表达式转化为二叉树 ; 0012 32) 遍历二叉树得到逆波兰表达式 ; 0013 4) 确定目的服务 ID: 对逆波兰表达式进行计算确定目的服务 ID ; 0014 5) 发送消息 : 根据目的服务 ID 向目的服务发送消息。 0015 上述方法中, 所述表达式以图形化的方式进行设置。 0016 上述方法中, 所述表达式支持常量和变量。 0017 本发明的有益效果是, 本发明避免了组件化设计, 一次设置可在多个业务流程中 复用 ; 表达式中支持变量和常量, 可进行灵活设
7、置 ; 减少接口的开发数量 ; 减少了系统间的 垃圾数据传输, 降低了网络带宽占用率。 附图说明 0018 下面结合附图对本发明进一步说明 : 0019 图 1 是本发明的方法流程图。 具体实施方式 0020 如图 1 所示, 本发明的一种基于表达式判断的动态路由方法, 它包括以下步骤 : 说 明 书 CN 103023766 A 3 2/2 页 4 0021 1) 在总线流程设计器中根据业务需求以图形化的方式设置表达式, 所述表达式支 持常量和变量 ; 0022 2) 发布设置的流程, 后台线程中启动该流程, 生成表达式对象 ; 0023 3) 消息传输到表达式节点时, 将表达式转化为二叉树
8、 ; 0024 4) 遍历二叉树得到逆波兰表达式 ; 0025 5) 对逆波兰表达式进行计算确定目的服务 ID ; 0026 6) 根据目的服务 ID 向目的服务发送消息, 消息到达目的服务后, 由于接收的数据 是服务认识的格式或需要的数据, 所以该服务不需要针对数据进行再次判断。 同时, 其它无 关服务也不会接收该消息, 不会产生垃圾数据。 0027 以上所述只是本发明的优选实施方式, 对于本技术领域的普通技术人员来说, 在 不脱离本发明原理的前提下, 还可以做出若干改进和润饰, 这些改进和润饰也被视为本发 明的保护范围。 说 明 书 CN 103023766 A 4 1/1 页 5 图 1 说 明 书 附 图 CN 103023766 A 5