本发明实施例涉及客户关系管理,尤其涉及一种事件处理方法及装置、可读存储介质、程序产品、终端。
背景技术:
1、客户关系管理(customer relationship management,crm)系统中,存在着大量实时和准实时的处理场景,如机会营销(捕捉或者预测客户的行为事件,并触发营销策略,执行营销动作等)。现有的crm系统一般通过流处理引擎以及规则引擎实现。对于crm系统中的应用程序的需求,往往通过软件工程师编写对应的代码以开发新的处理场景或者新的处理逻辑。
2、然而crm系统作为企业经营的软件,不同用户的需求具有差异化和个性化,此外crm系统也经常有需求变化,需要根据需求变化调整crm系统。但是现有的这种crm需求配置方式的灵活性较差,容易产生缺陷,进而产生数据治理的问题。
技术实现思路
1、本发明实施例解决的技术问题是现有的crm需求配置方式的灵活性较差,容易产生缺陷,进而产生数据治理的问题。
2、为解决上述技术问题,本发明实施例提供一种客户关系管理系统的事件处理方法,所述客户关系管理系统配置有多个应用程序,每一应用程序均可发布事件流声明和/或事件处理请求,从事件队列中获取待调度事件,所述事件队列中存储有多个事件,多个事件是根据预先注册的至少一个事件流限定的数据结构生成的,所述事件流为基于所述事件流声明注册的原生事件流,或者基于所述事件处理请求注册的衍生事件流;确定所述待调度事件触发的可执行文件,所述可执行文件是根据所述事件处理请求编译得到的,用于指示对事件的处理逻辑以及指定生成衍生事件依据的衍生事件流;加载所述可执行文件,按照所述可执行文件指示的对所述待调度事件的处理逻辑进行处理,并按照依据的衍生事件流限定的数据结构生成衍生事件;将生成的衍生事件推送至所述事件队列。
3、可选的,所述可执行文件的数目为一个或多个,所述加载所述可执行文件并执行,包括:若所述可执行文件的数目为多个,获取多个可执行文件的执行优先级;按照多个可执行文件的执行优先级加载所述可执行文件并执行。
4、可选的,所述可执行文件的执行优先级是基于可执行文件对应的事件处理请求的响应时效确定的。
5、可选的,所述事件处理方法,还包括:判断所述衍生事件是否会触发带有加速标记的可执行文件;若所述衍生事件会触发带有加速标记的可执行文件,则执行所述带有加速标记的可执行文件。
6、可选的,所述事件处理方法,还包括:待所述带有加速标记的可执行文件执行完成后,给所述带有加速标记的可执行文件添加屏蔽状态,以使得后续所述衍生事件被调度时,所述带有加速标记的可执行文件被屏蔽触发。
7、可选的,所述事件处理方法,还包括:待所述衍生事件从所述事件队列中被调度,且所述带有加速标记的可执行文件被屏蔽触发后,删除所述屏蔽状态。
8、可选的,所述事件队列包括多个,多个事件队列按照事件发布的应用程序或者事件流的订阅者分类存储事件,所述将生成的衍生事件推送至所述事件队列,包括:获取所述衍生事件流的订阅者,确定所述衍生事件对应的目标事件队列;将所述衍生事件推送至所述目标事件队列。
9、可选的,所述事件处理方法,还包括:监控所述事件队列的事件调度效率;当监控到所述事件队列的调度效率低于设定阈值时,增加新的事件队列,并为新的事件队列分配新的调度资源。
10、可选的,所述事件处理方法,还包括:获取来自于外部事件源发送的外部数据;根据所述外部事件源与预设的事件流之间的映射关系,确定所述外部事件源对应的预设的事件流;根据所述预设的事件流限定的数据结构以及所述外部数据生成新的事件并存储于所述事件队列。
11、本发明实施例还提供一种客户关系管理系统的事件处理装置所述客户关系管理系统配置有多个应用程序,每一应用程序均可发布事件流声明和/或事件处理请求,所述事件处理装置包括:第一获取单元,用于从事件队列中获取待调度事件,所述事件队列中存储有多个事件,多个事件是根据预先注册的至少一个事件流限定的数据结构生成的,所述事件流为基于所述事件流声明注册的原生事件流,或者基于所述事件处理请求注册的衍生事件流;确定单元,用于确定所述待调度事件触发的可执行文件,所述可执行文件是根据所述事件处理请求编译得到的,用于指示对事件的处理逻辑以及指定生成衍生事件依据的衍生事件流;执行单元,用于加载所述可执行文件,按照所述可执行文件指示的对所述待调度事件的处理逻辑进行处理,并按照依据的衍生事件流限定的数据结构生成衍生事件;推送单元,用于将生成的衍生事件推送至所述事件队列。
12、本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一种客户关系管理系统的事件处理方法的步骤。
13、本发明实施例还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述任一种客户关系管理系统的事件处理方法的步骤。
14、本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一种客户关系管理系统的事件处理方法的步骤。
15、与现有技术相比,本发明实施例的技术方案具有以下有益效果:
16、客户关系管理系统配置有多个应用程序,每一应用程序中均可发布事件流声明和/或事件处理请求。事件流包括基于事件流声明注册的原生事件流或者基于事件处理请求注册的衍生事件流。事件队列中存储有多个事件,多个事件是根据预先注册的至少一个事件流限定的数据结构生成的。从事件队列获取待调度事件之后,确定待调度事件触发的可执行文件,而可执行文件是根据事件处理请求编译得到的,用于指示对事件处理的执行逻辑以及指定生成衍生事件依据的衍生事件流。通过加载可执行文件,按照所述可执行文件指示的对所述待调度事件的处理逻辑进行处理,并按照依据的衍生事件流限定的数据结构生成衍生事件。将生成的衍生事件推送至所述事件队列。如此,可以实现将各个应用程序之间的数据交互处理抽象为事件,各个应用程序通过事件处理请求来告知自身的数据处理需求,通过事件处理请求对应的可执行文件对事件进行处理,对应用程序进行统一调度管理,实现应用程序之间的解耦。相比现有技术需要为变化的需求配置对应的代码而言,采用本发明提供的事件处理方法,当各个应用程序的需求变化时,也即需要进行crm场景扩充时,由相应的应用程序发布事件处理请求或者事件流声明即可,无需重新配置对应的代码,可以提高crm场景扩充的敏捷性和灵活性,减少错误发生概率,有助于数据治理。此外,还可以降低研发成本。
1.一种客户关系管理系统的事件处理方法,所述客户关系管理系统配置有多个应用程序,其特征在于,每一应用程序均可发布事件流声明和/或事件处理请求,所述事件处理方法包括:
2.如权利要求1所述的事件处理方法,其特征在于,所述可执行文件的数目为一个或多个,所述加载所述可执行文件并执行,包括:
3.如权利要求2所述的事件处理方法,其特征在于,所述可执行文件的执行优先级是基于可执行文件对应的事件处理请求的响应时效确定的。
4.如权利要求1所述的事件处理方法,其特征在于,还包括:
5.如权利要求4所述的事件处理方法,其特征在于,还包括:
6.如权利要求5所述的事件处理方法,其特征在于,还包括:
7.如权利要求1所述的事件处理方法,其特征在于,所述事件队列包括多个,多个事件队列按照事件发布的应用程序或者事件流的订阅者分类存储事件,所述将生成的衍生事件推送至所述事件队列,包括:
8.如权利要求1所述的事件处理方法,其特征在于,还包括:
9.如权利要求1所述的事件处理方法,其特征在于,还包括:
10.一种客户关系管理系统的事件处理装置,所述客户关系管理系统配置有多个应用程序,其特征在于,每一应用程序均可发布事件流声明和/或事件处理请求,所述事件处理装置包括:
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至9任一项所述的客户关系管理系统的事件处理方法的步骤。
12.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至9任一项所述客户关系管理系统的事件处理方法的步骤。
13.一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至9中任一项所述的客户关系管理系统的事件处理方法的步骤。