《配置事件处理引擎的方法和装置.pdf》由会员分享,可在线阅读,更多相关《配置事件处理引擎的方法和装置.pdf(13页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102929968 A (43)申请公布日 2013.02.13 CN 102929968 A *CN102929968A* (21)申请号 201210387627.8 (22)申请日 2012.10.12 G06F 17/30(2006.01) (71)申请人 易程科技股份有限公司 地址 100083 北京市海淀区王庄路 1 号清华 同方科技广场 A 座 18 层 (72)发明人 邵晓风 李吉生 余昊 刘宗福 耿宜超 祝清华 胡玉溪 刘君杰 (74)专利代理机构 北京同立钧成知识产权代理 有限公司 11205 代理人 刘芳 (54) 发明名称 配置事件处理引擎的方。
2、法和装置 (57) 摘要 本发明提供一种配置事件处理引擎的方法和 装置, 该方法包括 : 获取至少一个事件资源 ; 判断 事件资源包含引擎地址、 事件类型或事件处理策 略 ; 如果事件资源包含引擎地址, 获取引擎地址 对应的事件处理引擎 ; 如果事件资源包含事件类 型, 向事件资源对应的事件处理引擎的配置信息 中增加事件类型 ; 如果事件资源包含事件处理策 略, 向事件资源对应的事件处理引擎的配置信息 中增加事件处理策略。本发明的配置事件处理引 擎的方法和装置, 通过对部署到系统中的事件资 源进行扫描, 及对扫描到的事件资源的相应配置, 可在事件处理逻辑有变动时, 无需关闭整个系统, 即实现对。
3、事件处理引擎的动态配置, 提高了应用 系统运行效率, 满足了企业级应用系统灵活、 易用 的需求。 (51)Int.Cl. 权利要求书 2 页 说明书 8 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 8 页 附图 2 页 1/2 页 2 1. 一种配置事件处理引擎的方法, 其特征在于, 包括 : 获取至少一个事件资源 ; 判断所述事件资源包含引擎地址、 事件类型或事件处理策略 ; 如果所述事件资源包含引擎地址, 获取所述引擎地址对应的事件处理引擎 ; 如果所述事件资源包含事件类型, 向所述事件资源对应的事件处理引擎的配置信息中 增加所。
4、述事件类型 ; 如果所述事件资源包含事件处理策略, 向所述事件资源对应的事件处理引擎的配置信 息中增加所述事件处理策略。 2. 根据权利要求 1 所述的方法, 其特征在于, 所述获取至少一个事件资源包括 : 扫描并解压第一格式的数据包, 从所述第一格式的数据包的事件资源目录下搜索以下 描述文件中的任意一个或多个的组合 : 引擎地址的描述文件、 事件类型的描述文件和事件 处理策略的描述文件 ; 和 / 或, 监听事件资源供应服务, 当检测到事件资源供应服务发布第二格式的数据包时, 从所 述第二格式的数据包的事件资源目录下搜索以下描述文件中的任意一个或多个的组合 : 引 擎地址的描述文件、 事件类。
5、型的描述文件和事件处理策略的描述文件。 3.根据权利要求1或2所述的方法, 其特征在于, 所述获取所述引擎地址对应的事件处 理引擎包括 : 在存储的事件处理引擎列表中查找所述引擎地址 ; 若所述事件处理引擎列表中包括所述引擎地址, 获取所述事件处理引擎列表中的所述 引擎地址对应的事件处理引擎 ; 若所述事件处理引擎列表中不包括所述引擎地址, 创建所述引擎地址对应的事件处理 引擎。 4. 根据权利要求 3 所述的方法, 其特征在于, 所述创建所述引擎地址对应的事件处理 引擎之后, 还包括 : 在所述事件处理引擎列表中增加所述引擎地址和对应的引擎。 5. 根据权利要求 1 或 2 所述的方法, 其。
6、特征在于, 所述向所述事件资源对应的事件处理引擎的配置信息中增加所述事件类型包括 : 若所 述事件资源包括引擎地址, 在所述引擎地址对应的事件处理引擎的配置存储区中增加所述 事件类型 ; 若所述事件资源不包括引擎地址, 在预设的默认事件处理引擎的配置存储区中 增加所述事件类型 ; 所述向所述事件资源对应的事件处理引擎的配置信息中增加所述事件处理策略包括 : 若所述事件资源包括引擎地址, 在所述引擎地址对应的事件处理引擎的配置存储区中增加 所述事件处理策略 ; 若所述事件资源不包括引擎地址, 在预设的默认事件处理引擎的配置 存储区中增加所述事件处理策略。 6. 一种配置事件处理引擎的装置, 其特。
7、征在于, 包括 : 扫描模块, 用于获取至少一个事件资源 ; 配置服务模块, 用于判断所述事件资源包含引擎地址、 事件类型或事件处理策略, 如果 所述事件资源包含引擎地址, 将所述事件资源传送给引擎管理服务模块, 如果所述事件资 权 利 要 求 书 CN 102929968 A 2 2/2 页 3 源包含事件类型, 将所述事件资源传送给事件类型管理服务模块, 如果所述事件资源包含 事件处理策略, 将所述事件资源传送给事件处理策略管理服务模块 ; 所述引擎管理服务模块, 用于获取所述引擎地址对应的事件处理引擎 ; 所述事件类型管理服务模块, 用于向所述事件资源对应的事件处理引擎的配置信息中 增加。
8、所述事件类型 ; 所述事件处理策略管理服务模块, 用于向所述事件资源对应的事件处理引擎的配置信 息中增加所述事件处理策略。 7. 根据权利要求 6 所述的装置, 其特征在于, 所述扫描模块用于扫描并解压第一格式 的数据包, 从所述第一格式的数据包的事件资源目录下搜索以下描述文件中的任意一个或 多个的组合 : 引擎地址的描述文件、 事件类型的描述文件和事件处理策略的描述文件 ; 和 / 或, 所述扫描模块用于监听事件资源供应服务, 当检测到事件资源供应服务发布第二格式 的数据包时, 从所述第二格式的数据包的事件资源目录下搜索以下描述文件中的任意一个 或多个的组合 : 引擎地址的描述文件、 事件类。
9、型的描述文件和事件处理策略的描述文件。 8. 根据权利要求 6 或 7 所述的装置, 其特征在于, 所述引擎管理服务模块具体用于在存储的事件处理引擎列表中查找所述引擎地址, 若 所述事件处理引擎列表中包括所述引擎地址, 获取所述事件处理引擎列表中的所述引擎地 址对应的事件处理引擎, 若所述事件处理引擎列表中不包括所述引擎地址, 创建所述引擎 地址对应的事件处理引擎。 9. 根据权利要求 8 所述的装置, 其特征在于, 所述引擎管理服务模块还具体用于在创建所述引擎地址对应的事件处理引擎之后, 在 所述事件处理引擎列表中增加所述引擎地址和对应的引擎。 10. 根据权利要求 6 或 7 所述的装置,。
10、 其特征在于, 所述事件类型管理服务模块具体用于在所述事件资源包括引擎地址时, 在所述引擎地 址对应的事件处理引擎的配置存储区中增加所述事件类型, 在所述事件资源不包括引擎地 址时, 在预设的默认事件处理引擎的配置存储区中增加所述事件类型 ; 所述事件处理策略管理服务模块具体用于在所述事件资源包括引擎地址时, 在所述引 擎地址对应的事件处理引擎的配置存储区中增加所述事件处理策略, 在所述事件资源不包 括引擎地址时, 在预设的默认事件处理引擎的配置存储区中增加所述事件处理策略。 权 利 要 求 书 CN 102929968 A 3 1/8 页 4 配置事件处理引擎的方法和装置 技术领域 0001。
11、 本发明涉及计算机技术, 尤其涉及一种配置事件处理引擎的方法和装置。 背景技术 0002 分布式应用系统承载大量异构设备和系统的接入, 需要对连续涌入的海量数据进 行实时处理和快速响应。而传统数据库因其先存储后查询的架构特性, 及数据库输入输出 操作带来的性能损耗, 无法满足高吞吐量、 低延迟、 高灵活性的数据处理需求 ; 且开发异构 的设备或系统适配器、 面向海量数据的高性能处理器等模块往往费时费力, 使分布式应用 开发人员无法专注于业务逻辑的实现和优化, 因此, 支持事件流处理的复杂事件处理技术 应运而生。如何将复杂事件处理技术灵活地集成到应用系统中, 以应对丰富多变的业务处 理需求, 随。
12、即成为中间件开发商亟待解决的问题。 0003 现有技术中, 对复杂事件的处理可直接通过事件处理引擎的应用程序接口来进行 配置。如可采用描述文件的方法, 将事件处理策略的定义放置在独立于程序源码以外的文 件中, 由程序读取并实现配置到事件处理引擎中。这种事件处理技术使事件处理策略独立 于程序源代码之外进行配置, 可适用于不同业务的数据处理模块的开发。但采用上述现有 的配置事件处理引擎的方法, 每当事件类型或事件处理策略发生变化, 就需要先停止系统, 在系统停止后更新事件类型或事件处理策略, 然后再重启系统, 由于每次更新均需要中断 系统运行, 因此导致应用系统运行效率低下, 无法满足企业级应用系。
13、统灵活、 易用的需求。 发明内容 0004 本发明的第一个方面是提供一种配置事件处理引擎的方法, 用以解决现有技术中 的缺陷, 提高应用系统的运行效率。 0005 本发明的另一个方面是提供一种配置事件处理引擎的装置, 用以解决现有技术中 的缺陷, 提高应用系统的运行效率。 0006 本发明的第一个方面是提供一种配置事件处理引擎的方法。 0007 如上所述的方法, 包括 : 获取至少一个事件资源 ; 0008 判断事件资源包含引擎地址、 事件类型或事件处理策略 ; 0009 如果事件资源包含引擎地址, 获取引擎地址对应的事件处理引擎 ; 0010 如果事件资源包含事件类型, 向事件资源对应的事件。
14、处理引擎的配置信息中增加 事件类型 ; 0011 如果事件资源包含事件处理策略, 向事件资源对应的事件处理引擎的配置信息中 增加事件处理策略。 0012 进一步地, 获取至少一个事件资源包括 : 0013 扫描并解压第一格式的数据包, 从第一格式的数据包的事件资源目录下搜索以下 描述文件中的任意一个或多个的组合 : 引擎地址的描述文件、 事件类型的描述文件和事件 处理策略的描述文件 ; 说 明 书 CN 102929968 A 4 2/8 页 5 0014 和 / 或, 0015 监听事件资源供应服务, 当检测到事件资源供应服务发布第二格式的数据包时, 从第二格式的数据包的事件资源目录下搜索以。
15、下描述文件中的任意一个或多个的组合 : 引 擎地址的描述文件、 事件类型的描述文件和事件处理策略的描述文件。 0016 进一步地, 获取引擎地址对应的事件处理引擎包括 : 0017 在存储的事件处理引擎列表中查找引擎地址 ; 若事件处理引擎列表中包括引擎地 址, 获取事件处理引擎列表中的引擎地址对应的事件处理引擎 ; 若事件处理引擎列表中不 包括引擎地址, 创建引擎地址对应的事件处理引擎。 0018 更进一步地, 创建引擎地址对应的事件处理引擎之后, 还包括 : 在事件处理引擎列 表中增加引擎地址和对应的引擎。 0019 进一步地, 向事件资源对应的事件处理引擎的配置信息中增加事件类型包括 :。
16、 若 事件资源包括引擎地址, 在引擎地址对应的事件处理引擎的配置存储区中增加事件类型 ; 若事件资源不包括引擎地址, 在预设的默认事件处理引擎的配置存储区中增加事件类型 ; 0020 向事件资源对应的事件处理引擎的配置信息中增加事件处理策略包括 : 若事件 资源包括引擎地址, 在引擎地址对应的事件处理引擎的配置存储区中增加事件处理策略 ; 若事件资源不包括引擎地址, 在预设的默认事件处理引擎的配置存储区中增加事件处理策 略。 0021 本发明的另一个方面是提供一种配置事件处理引擎的装置。 0022 如上所述的配置事件处理引擎的装置, 包括 : 扫描模块、 配置服务模块、 引擎管理 服务模块、 。
17、事件类型管理服务模块和事件处理策略管理服务模块。 0023 其中, 扫描模块用于获取至少一个事件资源 ; 配置服务模块用于判断事件资源包 含引擎地址、 事件类型或事件处理策略, 如果事件资源包含引擎地址, 将事件资源传送给引 擎管理服务模块, 如果事件资源包含事件类型, 将事件资源传送给事件类型管理服务模块, 如果事件资源包含事件处理策略, 将事件资源传送给事件处理策略管理服务模块。 0024 引擎管理服务模块用于获取引擎地址对应的事件处理引擎 ; 事件类型管理服务模 块用于向事件资源对应的事件处理引擎的配置信息中增加事件类型 ; 事件处理策略管理服 务模块用于向事件资源对应的事件处理引擎的配。
18、置信息中增加事件处理策略。 0025 进一步地, 上述配置事件处理引擎的装置还包括, 扫描模块用于扫描并解压第一 格式的数据包, 从第一格式的数据包的事件资源目录下搜索以下描述文件中的任意一个或 多个的组合 : 引擎地址的描述文件、 事件类型的描述文件和事件处理策略的描述文件 ; 0026 和 / 或, 0027 扫描模块用于监听事件资源供应服务, 当检测到事件资源供应服务发布第二格式 的数据包时, 从第二格式的数据包的事件资源目录下搜索以下描述文件中的任意一个或多 个的组合 : 引擎地址的描述文件、 事件类型的描述文件和事件处理策略的描述文件。 0028 进一步地, 上述配置事件处理引擎的装。
19、置的引擎管理服务模块具体用于在存储的 事件处理引擎列表中查找引擎地址, 若事件处理引擎列表中包括引擎地址, 获取事件处理 引擎列表中的引擎地址对应的事件处理引擎, 若事件处理引擎列表中不包括引擎地址, 创 建引擎地址对应的事件处理引擎。 0029 更进一步地, 上述配置事件处理引擎的装置的引擎管理服务模块还具体用于在创 说 明 书 CN 102929968 A 5 3/8 页 6 建引擎地址对应的事件处理引擎之后, 在事件处理引擎列表中增加引擎地址和对应的引 擎。 0030 进一步地, 对于上述配置事件处理引擎的装置, 其中, 事件类型管理服务模块具体 用于在事件资源包括引擎地址时, 在引擎地。
20、址对应的事件处理引擎的配置存储区中增加事 件类型, 在事件资源不包括引擎地址时, 在预设的默认事件处理引擎的配置存储区中增加 事件类型 ; 0031 事件处理策略管理服务模块具体用于在事件资源包括引擎地址时, 在引擎地址对 应的事件处理引擎的配置存储区中增加事件处理策略, 在事件资源不包括引擎地址时, 在 预设的默认事件处理引擎的配置存储区中增加事件处理策略。 0032 由上述发明内容可见, 本发明提供的配置事件处理引擎的方法和装置, 通过对部 署到系统中的事件资源进行扫描, 以及对扫描的事件资源的相应配置, 可以在事件类型及 处理策略有变动时, 无需关闭整个系统, 即可实现对事件处理引擎的动。
21、态配置, 提高了应用 系统运行效率, 满足了企业级应用系统灵活、 易用的需求。 附图说明 0033 图 1 为本发明实施例一的配置事件处理引擎的方法的流程图 ; 0034 图 2 为本发明实施例二的事件资源扫描方式一的流程图 ; 0035 图 3 为本发明实施例三的事件资源扫描方式二的流程图 ; 0036 图 4 为本发明实施例四的配置事件处理引擎的装置的结构示意图。 具体实施方式 0037 图 1 为本发明实施例一的配置事件处理引擎的方法的流程图。如图 1 所示, 本实 施例的方法包括 : 0038 步骤 101 : 获取至少一个事件资源。 0039 具体地, 事件资源扫描模块对部署到系统中。
22、的事件资源包进行扫描, 以获取事件 资源并进行配置。 0040 步骤 102 : 判断事件资源是否包含引擎地址、 事件类型或事件处理策略。 0041 具体地, 事件资源所包括的引擎地址、 事件类型或事件处理策略等都分别以描述 性文件的形式存在, 事件资源配置服务模块可对扫描到的事件资源进行判断, 以确定各个 事件资源的类型, 即判断事件资源为引擎地址、 事件类型, 还是事件处理策略。 具体地, 可首 先判断是否有引擎地址存在 ; 其次, 判断是否有事件类型存在 ; 最后再判断是否有事件处 理策略。 0042 步骤 103 : 如果事件资源包含引擎地址, 获取引擎地址对应的事件处理引擎。 004。
23、3 具体地, 若扫描到的事件资源包含引擎地址, 获取该引擎地址对应的事件处理引 擎。该对应的事件处理引擎可以为新创建的事件处理引擎实例, 也可以为系统中已存在的 事件处理引擎实例。 0044 步骤 104 : 如果事件资源包含事件类型, 向事件资源对应的事件处理引擎的配置 信息中增加事件类型。 0045 具体地, 若扫描到的事件资源中包含事件类型, 则向事件资源对应的事件处理引 说 明 书 CN 102929968 A 6 4/8 页 7 擎中增加事件类型。 该事件资源对应的事件处理引擎可以为该事件资源指定的事件处理引 擎, 也可以为系统指定的默认事件处理引擎。具体地, 在事件资源未指定事件处。
24、理引擎时, 为系统指定的默认事件处理引擎。 0046 步骤 105 : 如果事件资源包含事件处理策略, 向事件资源对应的事件处理引擎的 配置信息中增加事件处理策略。 0047 具体地, 若扫描到的事件资源中包含事件处理策略, 则向事件资源对应的事件处 理引擎中增加事件处理策略。 该事件资源对应的事件处理引擎可以为该事件资源指定的事 件处理引擎, 也可以为系统指定的默认事件处理引擎。 具体地, 在事件资源未指定事件处理 引擎时, 为系统指定的默认事件处理引擎。 0048 在本发明实施例一中, 通过对部署到系统中的事件资源进行扫描, 以及对扫描的 事件资源的相应配置, 可以在事件类型及处理策略有变。
25、动时, 无需关闭整个系统, 即可实现 对事件处理引擎的动态配置, 提高了应用系统运行效率, 满足了企业级应用系统灵活、 易用 的需求。 0049 图 2 为本发明实施例二的事件资源扫描方式一的流程图, 图 3 为本发明实施例二 的事件资源扫描方式二的流程图。在上述图 1 所示的本发明实施例一的配置事件处理引擎 的方法中, 在步骤 101 中, 可以采用图 2 所示的本发明实施例二的事件资源扫描方式一, 也 可以采用图 3 所示的本发明实施例二的事件资源扫描方式二, 还可以将上述两种方法结合 使用, 以获取至少一个事件资源。 0050 如图2所示, 步骤101中获取事件资源的具体方法可以包括 :。
26、 扫描并解压第一格式 的数据包, 从第一格式的数据包的事件资源目录下搜索以下描述文件中的任意一个或多个 的组合 : 引擎地址的描述文件、 事件类型的描述文件和事件处理策略的描述文件。具体地, 可包括如下步骤 : 0051 步骤 201 : 从第一部署目录中扫描第一格式数据包 ; 0052 步骤 202 : 解压第一格式数据包 ; 0053 步骤 203 : 从第一格式的数据包的事件资源目录下搜索事件资源配置文件。 0054 具体地, 该第一格式的数据包可以包括 Java 归档文件 (Java Archive, 简称 Jar) 包和 / 或网络应用程序文件 (Web Archive file, 。
27、简称 War) 包。首先, 从 Jar 包和 / 或 War 包的部署目录中搜索并解压 Jar 包和 / 或 War 包 ; 然后, 从 Jar 包和 / 或 War 包的事件资源 目录中搜索事件资源配置文件。 具体地, 事件资源配置文件可以包括引擎地址的描述文件、 事件类型的描述文件和事件处理策略的描述文件, 且可以搜索上述这些描述文件中的任意 一个或多个的组合。 所搜索到的一个或多个事件处理策略的描述文件可以不是针对搜索到 的事件类型的处理策略。一次扫描结束, 可返回继续进行扫描。 0055 如图 3 所示, 步骤 101 中获取事件资源的具体方法还可以包括 : 0056 步骤 301 :。
28、 监听事件资源供应服务 ; 0057 步骤 302 : 判断是否有事件资源供应发布。 0058 步骤 303 : 当检测到事件资源供应服务发布第二格式的数据包时, 从第二格式数 据包的事件资源目录下搜索事件资源配置文件。 0059 具体地, 该第二格式的数据包可以为作为开放网络服务平台 (OpenService Gateway Initiative, 简称 OSGi) 框架标准插件的 Bundle 包 ; 事件资源 Bundle 扫描服务采 说 明 书 CN 102929968 A 7 5/8 页 8 用OSGi服务监听机制, 对事件资源Bundle包发布的事件资源供应服务进行监听, 若检测到。
29、 没有事件资源供应服务发布, 则返回继续监听是否有事件资源供应服务发布 ; 若检测到有 事件资源供应服务发布时, 获取事件资源供应服务供应的事件资源配置文件。 具体地, 事件 资源配置文件可以包括引擎地址的描述文件、 事件类型的描述文件和事件处理策略的描述 文件, 且可以搜索上述这些描述文件中的任意一个或多个的组合。所搜索到的一个或多个 事件处理策略的描述文件可以不是针对搜索到的事件类型的处理策略。 0060 在上述技术方案的基础上, 步骤 102 中判断所扫描到的事件资源是否包含引擎地 址、 事件类型或事件处理策略的具体过程包括 : 事件资源所包括的引擎地址、 事件类型或事 件处理策略等都分。
30、别以描述性文件的形式存在, 事件资源配置服务模块可对扫描到的事件 资源进行判断, 以确定各个事件资源的类型, 即判断事件资源为引擎地址、 事件类型, 还是 事件处理策略。 具体地, 可首先判断是否有引擎地址存在 ; 其次, 判断是否有事件类型存在 ; 最后再判断是否有事件处理策略。 0061 如果事件资源包含引擎地址, 在步骤 103 中, 获取引擎地址对应的事件处理引擎。 具体地, 获取引擎地址对应的事件处理引擎的具体过程可以包括 : 在存储的事件处理引擎 列表中查找引擎地址。 具体地, 若扫描到的事件资源为引擎地址, 引擎管理服务模块首先会 按引擎地址查找存储的事件处理引擎列表。若事件处理。
31、引擎列表中包括引擎地址, 获取事 件处理引擎列表中的引擎地址对应的事件处理引擎 ; 若事件处理引擎列表中不包括引擎地 址, 创建引擎地址对应的事件处理引擎, 且该创建的事件处理引擎以其对应的引擎地址作 为其唯一的标识。 0062 更进一步地, 创建引擎地址对应的事件处理引擎之后, 还包括 : 在事件处理引擎列 表中增加引擎地址和对应的引擎, 以更新事件处理引擎列表, 方便其他程序通过引擎地址 搜索引擎。 0063 如果事件资源包含事件类型, 在步骤 104 中, 向事件资源对应的事件处理引擎的 配置信息中增加事件类型。具体地, 向事件资源对应的事件处理引擎的配置信息中增加事 件类型包括 : 若。
32、事件资源包括引擎地址, 在引擎地址对应的事件处理引擎的配置存储区中 增加事件类型。 具体地, 该引擎地址可以为系统中存在的某一个引擎地址, 也可以为同一次 扫描到的引擎地址。若事件资源不包括引擎地址, 在预设的默认事件处理引擎的配置存储 区中增加事件类型。具体地, 增加的事件类型可以存储在引擎存储配置的动态配置存储区 中, 以便引擎在处理事件的过程中, 从其动态配置存储区中读取配置, 获取事件类型, 实现 事件资源的动态部署。 0064 如果事件资源包含事件处理策略, 在步骤 105 中, 向事件资源对应的事件处理引 擎的配置信息中增加事件处理策略。具体地, 向事件资源对应的事件处理引擎的配置。
33、信息 中增加事件处理策略包括 : 若事件资源包括引擎地址, 在引擎地址对应的事件处理引擎的 配置存储区中增加事件处理策略。具体地, 该引擎地址可以为系统中存在的某一个引擎地 址, 也可以为同一次扫描到的引擎地址。若事件资源不包括引擎地址, 在预设的默认事件 处理引擎的配置存储区中增加事件处理策略。具体地, 增加的事件处理策略可以存储在引 擎存储配置的动态配置存储区中, 以便引擎在处理事件的过程中, 从其动态配置存储区中 读取配置, 获取事件处理策略, 以及作用于接下来的事件处理过程, 实现事件资源的动态部 署。 说 明 书 CN 102929968 A 8 6/8 页 9 0065 在上述技术。
34、方案中, 通过对部署到系统中的事件资源进行扫描, 以及对扫描的事 件资源的相应配置, 可实现在事件类型及处理策略有变动时, 无需关闭整个系统, 即可对事 件处理引擎进行动态配置, 提高了应用系统运行效率 ; 且各类事件资源的存储、 动态配置及 对系统内列表的更新, 可方便事件处理过程中的读取和查询, 满足了企业级应用系统灵活、 易用的需求。 0066 图 4 为本发明实施例三的配置事件处理引擎的装置的结构示意图。如图 4 所示, 本发明实施例提供的配置事件处理引擎的装置包括 : 0067 扫描模块 401、 配置服务模块 402、 引擎管理服务模块 403、 事件类型管理服务模块 404 和事。
35、件处理策略管理服务模块 405。 0068 扫描模块 401 用于获取至少一个事件资源。具体地, 扫描模块 401 用于扫描部署 到系统中的事件资源, 以保证实现系统对事件处理引擎的动态部署, 且针对不同形式的事 件资源包, 可以提供相应的事件资源扫描服务。如针对事件资源 Jar 包, 可以提供事件资源 Jar 扫描服务 ; 事件资源 Bundle 包, 可以提供相应的事件资源 Bundle 扫描服务。 0069 配置服务模块 402 用于判断事件资源是否包含引擎地址、 事件类型或事件处理策 略。配置服务模块 402 作为调度服务, 根据扫描到的事件资源的类型, 调用相应的管理服务 执行配置操。
36、作。 具体地, 事件资源所包括的引擎地址、 事件类型或事件处理策略等都分别以 描述性文件的形式存在。事件资源配置服务可对扫描到的事件资源进行判断, 以确定各个 事件资源的类型, 即判断事件资源为引擎地址、 事件类型, 还是事件处理策略。 具体地, 可首 先判断是否有引擎地址存在 ; 其次, 判断是否有事件类型存在 ; 最后再判断是否有事件处 理策略。 0070 具体地, 上述相应的管理服务模块可以包括 : 引擎管理服务模块 403、 事件类型管 理服务模块404和事件处理策略管理服务模块405。 如果事件资源包含引擎地址, 将事件资 源传送给引擎管理服务模块 403 ; 如果事件资源包含事件类。
37、型, 将事件资源传送给事件类 型管理服务模块 404 ; 如果事件资源包含事件处理策略, 将事件资源传送给事件处理策略 管理服务模块 405。 0071 进一步地, 引擎管理服务模块 403 用于获取引擎地址对应的事件处理引擎。具体 地, 若扫描模块 401 扫描到的事件资源包含引擎地址, 获取该引擎地址对应的事件处理引 擎。该对应的事件处理引擎可以为新创建的事件处理引擎实例, 也可以为系统中已存在的 事件处理引擎实例。 0072 事件类型管理服务模块 404 用于向事件资源对应的事件处理引擎的配置信息中 增加事件类型 ; 具体地, 若扫描模块 401 扫描到的事件资源中包含事件类型, 则向该。
38、事件资 源对应的事件处理引擎中增加事件类型。 该事件资源对应的事件处理引擎可以为该事件资 源指定的事件处理引擎, 也可以为系统指定的默认事件处理引擎。 0073 事件处理策略管理服务模块 405 用于向事件资源对应的事件处理引擎的配置信 息中增加事件处理策略。具体地, 若扫描模块 401 扫描到的事件资源中包含事件处理策略, 则向事件资源对应的事件处理引擎中增加事件处理策略。 该事件资源对应的事件处理引擎 可以为该事件资源指定的事件处理引擎, 也可以为系统指定的默认事件处理引擎。 0074 在本发明实施例三中, 整个配置事件处理引擎的装置通过事件资源扫描模块和配 置服务模块对部署到系统中的事件。
39、资源的扫描, 以及对扫描到的事件资源的相应配置, 可 说 明 书 CN 102929968 A 9 7/8 页 10 实现在事件类型及处理策略有变动时, 无需关闭整个系统, 即可对事件处理引擎进行动态 配置, 提高了应用系统运行效率, 满足了企业级应用系统灵活、 易用的需求。 0075 在上述实施例的基础上, 本发明实施例四提供的配置事件处理引擎的装置中, 扫 描模块 401 可以具体用于扫描并解压第一格式的数据包, 从第一格式的数据包的事件资源 目录下搜索以下描述文件中的任意一个或多个的组合 : 引擎地址的描述文件、 事件类型的 描述文件和事件处理策略的描述文件。 0076 具体地, 该扫描。
40、服务可以由事件资源第一格式扫描服务模块 406 来进行。该第一 格式的数据包可以包括 Jar 包和 / 或 War 包。首先, 从 Jar 包和 / 或 War 包的部署目录中 搜索并解压 Jar 包和 / 或 War 包 ; 然后, 从 Jar 包和 / 或 War 包的事件资源目录中搜索事件 资源配置文件。 具体地, 该事件资源配置文件可以包括引擎地址的描述文件、 事件类型的描 述文件和事件处理策略的描述文件, 且可以搜索上诉这些描述文件中的任意一个或多个的 组合。 所搜索到的一个或多个事件处理策略的描述文件可以不是针对搜索到的事件类型的 处理策略。一次扫描结束, 可返回继续进行扫描。 0。
41、077 可替换地, 扫描模块 401 可以不具体用于扫描并解压第一格式的数据包, 而具体 用于监听事件资源供应服务, 当检测到事件资源供应服务发布第二格式的数据包时, 从第 二格式的数据包的事件资源目录下搜索以下描述文件中的任意一个或多个的组合 : 引擎地 址的描述文件、 事件类型的描述文件和事件处理策略的描述文件。 0078 或者, 在扫描模块 401 具体用于扫描并解压第一格式的数据包的基础上, 该扫描 模块 401 还可以具体用于监听事件资源供应服务, 当检测到事件资源供应服务发布第二格 式的数据包时, 从第二格式的数据包的事件资源目录下搜索以下描述文件中的任意一个或 多个的组合 : 引。
42、擎地址的描述文件、 事件类型的描述文件和事件处理策略的描述文件。 0079 具体地, 该扫描服务可以由事件资源第二格式扫描服务模块 407 来进行。该第二 格式的数据包可以为作为OSGi框架标准插件的Bundle包 ; 事件资源Bundle扫描服务采用 OSGi 服务监听机制, 对事件资源 Bundle 包发布的事件资源供应服务进行监听, 若检测到没 有事件资源供应服务发布, 则返回继续监听是否有事件资源供应服务发布 ; 若检测到有事 件资源供应服务发布时, 获取事件资源供应服务供应的事件资源配置文件。 具体地, 事件资 源配置文件可以包括引擎地址的描述文件、 事件类型的描述文件和事件处理策略。
43、的描述文 件, 且可以搜索上述这些描述文件中的任意一个或多个的组合。所搜索到的一个或多个事 件处理策略的描述文件可以不是针对搜索到的事件类型的处理策略。 0080 在上述实施例的基础上, 在该配置事件处理引擎的装置中, 配置服务模块 402 可 以具体用于判断事件资源是否包含引擎地址、 事件类型或事件处理策略。 配置服务模块402 作为调度服务, 根据扫描到的事件资源的类型, 调用相应的管理服务执行配置操作。 如果事 件资源包含引擎地址, 将事件资源传送给引擎管理服务模块 403 ; 如果事件资源包含事件 类型, 将事件资源传送给事件类型管理服务模块 404 ; 如果事件资源包含事件处理策略,。
44、 将 事件资源传送给事件处理策略管理服务模块 405。 0081 进一步地, 引擎管理服务模块 403 用于获取引擎地址对应的事件处理引擎。具体 地, 若扫描到的事件资源包含引擎地址, 则引擎管理服务模块 403 首先在存储的事件处理 引擎列表中查找该引擎地址, 若事件处理引擎列表中包括该引擎地址, 获取事件处理引擎 列表中的引擎地址对应的事件处理引擎, 若事件处理引擎列表中不包括该引擎地址, 创建 说 明 书 CN 102929968 A 10 8/8 页 11 引擎地址对应的事件处理引擎, 且该创建的事件处理引擎以其对应的引擎地址作为其唯一 的标识。 0082 更进一步地, 引擎管理服务模。
45、块 403 还具体用于在创建引擎地址对应的事件处理 引擎之后, 在事件处理引擎列表中增加引擎地址和对应的引擎, 以更新事件处理引擎列表, 方便其他程序通过引擎地址搜索引擎。 0083 在上述技术方案的基础上, 进一步地, 事件类型管理服务模块 404 向事件资源对 应的事件处理引擎的配置信息中增加事件类型具体可以包括 : 若事件资源包含事件类型, 且该事件资源包括引擎地址时, 在引擎地址对应的事件处理引擎的配置存储区中增加事件 类型。 具体地, 该引擎地址可以为系统中存在的某一个引擎地址, 也可以为同一次扫描到的 引擎地址。在事件资源不包括引擎地址时, 在预设的默认事件处理引擎的配置存储区中增。
46、 加事件类型。 具体地, 增加的事件类型可以存储在引擎存储配置的动态配置存储区中, 以便 引擎在处理事件的过程中, 从其动态配置存储区中读取配置, 获取事件类型, 实现事件资源 的动态部署。 0084 在上述技术方案的基础上, 事件处理策略管理服务模块 405 向事件资源对应的事 件处理引擎的配置信息中增加事件处理策略具体可以包括 : 若事件资源包含事件处理策 略, 且该事件资源包括引擎地址时, 在引擎地址对应的事件处理引擎的配置存储区中增加 事件处理策略, 具体地, 该引擎地址可以为系统中存在的某一个引擎地址, 也可以为同一次 扫描到的引擎地址。在事件资源不包括引擎地址时, 在预设的默认事件。
47、处理引擎的配置存 储区中增加事件处理策略。具体地, 增加的事件处理策略可以存储在引擎存储配置的动态 配置存储区中, 以便引擎在处理事件的过程中, 从其动态配置存储区中读取配置, 获取事件 处理策略, 以及作用于接下来的事件处理过程, 实现事件资源的动态部署。 0085 本发明实施例四提供的配置事件处理引擎的装置, 通过扫描模块和配置服务模块 对部署到系统中的事件资源进行扫描, 以及对扫描到的事件资源的相应配置, 可实现在事 件类型及处理策略有变动时, 无需关闭整个系统, 即可对事件处理引擎进行动态配置, 提高 了应用系统运行效率 ; 且各个事件资源管理服务服务对事件资源的存储、 动态配置及对系。
48、 统内列表的更新, 可方便事件处理过程中的读取和查询, 满足了企业级应用系统灵活、 易用 的需求。 0086 本领域普通技术人员可以理解 : 实现上述各方法实施例的全部或部分步骤可以通 过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程 序在执行时, 执行包括上述各方法实施例的步骤 ; 而前述的存储介质包括 : ROM、 RAM、 磁碟 或者光盘等各种可以存储程序代码的介质。 0087 最后应说明的是 : 以上各实施例仅用以说明本发明的技术方案, 而非对其限制 ; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的普通技术人员应当理解 : 其 依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征 进行等同替换 ; 而这些修改或者替换, 并不使相应技术方案的本质脱离本发明各实施例技 术方案的范围。 说 明 书 CN 102929968 A 11 1/2 页 12 图 1 图 2 图 3 说 明 书 附 图 CN 102929968 A 12 2/2 页 13 图 4 说 明 书 附 图 CN 102929968 A 13 。