提高活动页面响应速度方法、装置、计算机设备与流程

文档序号:31544135发布日期:2022-09-17 00:42阅读:96来源:国知局
提高活动页面响应速度方法、装置、计算机设备与流程

1.本发明涉及web页面互动技术领域,尤其涉及一种基于aviator以及akka来提高活动页面超高并发时响应速度的方法、装置以及计算机设备。


背景技术:

2.saas平台上有海量的客户,每一客户都可能有自己的海量用户,而且每一客户都有可能具有多种活动,多种活动的规则不一,不同用户在同一活动中的规则也可能不同,最终会导致saas平台上有海量的规则,当用户参与活动时,用户实时触发内容互动的规则匹配效率很低,而且当saas平台活动有海量用户同时参与不同的活动时,将会出现活动页面超并发的场景,页面响应速度大幅降低,用户体验感非常不好。


技术实现要素:

3.为了在一定程度上解决以上技术问题之一,本发明提供一种基于aviator以及akka来提高活动页面超高并发时响应速度的方法、装置以及计算机设备,提高用户触发内容互动时的规则匹配效率以及提高活动页面的响应速度。
4.本发明提供一种基于aviator以及akka来提高活动页面超高并发时响应速度的方法,所述方法包括:
5.为活动页面涉及的活动配置相应的活动规则并且将所述活动规则与所述活动进行绑定;
6.调用表达式计算引擎aviator将所述活动规则转化为aviator表达式;
7.akka直接读取表达式计算引擎aviator中的aviator表达式并将所有的所述活动规则对应的aviator表达式实例化成规则actor并将所有规则actor通过akka cluste进行集群分发,其中,每一活动规则对应一规则actor;
8.通过akka监听活动触发事件,当监听到用户端在活动页面上的活动触发事件时,通过akka将所述活动触发事件转化为akka内部消息;
9.将所述内部消息发送给与所述活动触发事件对应的活动对应的规则actor;
10.进行条件匹配,当匹配成功时,所述规则actor在akka内部以消息的形式分发给后续的动作actor并且由所述动作actor执行相应的结果;
11.活动页面持续轮询动作actor执行的结果,在接收到执行结果后执行与所述活动规则对应的页面互动响应。
12.进一步的,所述方法还包括:
13.当所述活动规则发生变更时,所述表达式计算引擎aviator发出活动规则变更的通知;
14.当akka监听到规则变更事件时,akka销毁原活动规则对应的aviator表达式所实例化的规则actor并根据所述规则变更事件将变更后的活动规则对应的aviator表达式重新进行实例化成规则actor。
15.进一步的,所述活动规则包括活动触发事件、活动条件事件以及活动动作事件;
16.其中,进行条件匹配,当匹配成功时,所述规则actor在akka内部以消息的形式分发给后续的动作actor并且由所述动作actor执行相应的结果,包括:
17.基于表达式计算引擎aviator进行活动条件表达式计算,当计算结果匹配时,所述规则actor在akka内部以消息的形式分发给后续的动作actor并且由所述动作actor执行相应的结果。
18.进一步的,通过客户端进行活动规则配置并传递至后台服务器中,后台服务器调用表达式计算引擎aviator将所述活动规则转化为aviator表达式。
19.本发明提供一种基于aviator以及akka来提高活动页面超高并发时响应速度的装置,所述装置包括:
20.配置模块,用于为活动页面涉及的活动配置相应的活动规则并且将所述活动规则与所述活动进行绑定;
21.调用模块,用于调用表达式计算引擎aviator将所述活动规则转化为aviator表达式;
22.处理模块,用于akka直接读取表达式计算引擎aviator中的aviator表达式并将所有的所述活动规则对应的aviator表达式实例化成规则actor并将所有规则actor通过akka cluste进行集群分发,其中,每一活动规则对应一规则actor;
23.转化模块,用于通过akka监听活动触发事件,当监听到用户端在活动页面上的活动触发事件时,通过akka将所述活动触发事件转化为akka内部消息;
24.发送模块,用于将所述内部消息发送给与所述活动触发事件对应的活动对应的规则actor;
25.执行模块,用于进行条件匹配,当匹配成功时,所述规则actor在akka内部以消息的形式分发给后续的动作actor并且由所述动作actor执行相应的结果;
26.响应模块,用于活动页面持续轮询动作actor执行的结果,在接收到执行结果后执行与所述活动规则对应的页面互动响应。
27.进一步的,所述装置还包括:
28.通知模块,用于当所述活动规则发生变更时,所述表达式计算引擎aviator发出活动规则变更的通知;
29.变更模块,用于当akka监听到规则变更事件时,akka销毁原活动规则对应的aviator表达式所实例化的规则actor并根据所述规则变更事件将变更后的活动规则对应的aviator表达式重新进行实例化成规则actor。
30.进一步的,所述活动规则包括活动触发事件、活动条件事件以及活动动作事件;
31.其中,进行条件匹配,当匹配成功时,所述规则actor在akka内部以消息的形式分发给后续的动作actor并且由所述动作actor执行相应的结果,包括:
32.基于表达式计算引擎aviator进行活动条件表达式计算,当计算结果匹配时,所述规则actor在akka内部以消息的形式分发给后续的动作actor并且由所述动作actor执行相应的结果。
33.进一步的,通过客户端进行活动规则配置并传递至后台服务器中,后台服务器调用表达式计算引擎aviator将所述活动规则转化为aviator表达式。
34.本发明提供一种计算机设备,所述计算机设备包括:
35.处理器;以及
36.存储器,该存储器包括有处理器可执行指令,所述可执行指令在由处理器执行时用于执行所述的基于aviator以及akka来提高活动页面超高并发时响应速度的方法。
37.本发明结合了表达式计算引擎aviator以及akka,以表达式计算引擎aviator作为底层规则引擎,表达式计算引擎aviator将不同的活动规则转化为不同的aviator表达式,调用akka直接读取表达式计算引擎aviator中的aviator表达式并将所有的活动规则对应的aviator表达式实例化成规则actor并将所有规则actor通过akka cluste进行集群分发,有多少活动规则即具有对应数量的规则actor,当用户的活动触发事件发生后,其即可被akka监听到,然后通过akka内部的消息分发模式,该活动下的所有规则actor将接收到该活动触发事件并执行条件匹配,然后规则actor在akka内部以消息的形式分发给后续的动作actor并且由所述动作actor执行相应的结果,然后活动页面持续轮询动作actor执行的结果,在接收到执行结果后执行与活动规则对应的页面互动响应,完成用户端的内容呈现,akka消息分发异步进行并且所有的消息发送都是并行的,因此当具有海量规则以及海量用户并发时,可以有效地提高响应速度。
附图说明
38.图1为本发明的具体实施方式的方法流程图。
39.图2为本发明的计算机设备的电路原理结构示意图。
40.图3为本发明的具体实施方式的装置结构示意图。
具体实施方式
41.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得所有其他实施例,都属于本发明的保护范围。可以理解的是,附图仅仅提供参考与说明用,并非用来对本发明加以限制。
42.本发明针对规则匹配效率问题和活动超高并发时响应问题而提供的一种技术方案,在现有技术中,如背景技术中所述,saas平台上有海量的客户,每一客户都可能有自己的海量用户,而且每一客户都有可能具有多种活动,多种活动的规则不一,不同用户在同一活动中的规则也可能不同,最终会导致saas平台上有海量的规则。
43.现有技术将所有的规则全部远端进行查询,但是远端数据查询耗时很长,查询到规则后只能串行通信,而如果采用并行通信处理则需要启用线程,但是线程的数量是非常有限的,因此导致在规则匹配上效率很低并且无法应对超并发的情况,超并发时的响应速度十分缓慢。
44.基于此,本发明第一实施方式提供一种基于aviator以及akka来提高活动页面超高并发时响应速度的方法、装置以及计算机设备,提高用户触发内容互动时的规则匹配效率以及提高活动页面的响应速度。
45.本发明提供一种基于aviator以及akka来提高活动页面超高并发时响应速度的方
法,所述方法包括以下步骤。
46.s101:为活动页面涉及的活动配置相应的活动规则并且将所述活动规则与所述活动进行绑定。
47.s102:调用表达式计算引擎aviator将所述活动规则转化为aviator表达式。
48.所述活动规则的模型中可以包括但不限于活动触发事件trigger、活动条件事件condition以及活动动作事件action。表达式计算引擎aviator能够将活动规则和/或各类事件转化为对应的表达式,包括活动触发表达式、活动条件表达式以及活动动作表达式。
49.本具体实施方式中,包括用户端、客户端和后台服务器,活动页面向所述用户端进行展示,客户端为saas平台客户或商家,后台服务器为平台提供商提供。
50.平台的客户或商家可以通过客户端进行活动规则的配置,活动规则配置后将传递至后台服务器中,后台服务器调用表达式计算引擎aviator将所述活动规则转化为aviator表达式。
51.s103:akka直接读取表达式计算引擎aviator中的aviator表达式并将所有的所述活动规则对应的aviator表达式实例化成规则actor并将所有规则actor通过akka cluste进行集群分发,其中,每一活动规则对应一规则actor。
52.当所述活动规则发生变更时,所述表达式计算引擎aviator发出活动规则变更的通知,当akka监听到规则变更事件时,akka销毁原活动规则对应的aviator表达式所实例化的规则actor并根据所述规则变更事件将变更后的活动规则对应的aviator表达式重新进行实例化成规则actor。
53.s104:通过akka监听活动触发事件,当监听到用户端在活动页面上的活动触发事件时,通过akka将所述活动触发事件转化为akka内部消息。
54.s105:将所述内部消息发送给与所述活动触发事件对应的活动对应的规则actor。
55.s106:进行条件匹配,当匹配成功时,所述规则actor在akka内部以消息的形式分发给后续的动作actor并且由所述动作actor执行相应的结果。
56.具体的,基于表达式计算引擎aviator进行活动条件表达式计算,当计算结果匹配时,所述规则actor在akka内部以消息的形式分发给后续的动作actor并且由所述动作actor执行相应的结果。
57.s107:活动页面持续轮询动作actor执行的结果,在接收到执行结果后执行与所述活动规则对应的页面互动响应。
58.本发明具体实施方式提供的一种基于aviator以及akka来提高活动页面超高并发时响应速度的方法,其结合了表达式计算引擎aviator以及akka,以表达式计算引擎aviator作为底层规则引擎,表达式计算引擎aviator将不同的活动规则转化为不同的aviator表达式,调用akka直接读取表达式计算引擎aviator中的aviator表达式并将所有的活动规则对应的aviator表达式实例化成规则actor并将所有规则actor通过akka cluste进行集群分发,有多少活动规则即具有对应数量的规则actor,当用户的活动触发事件发生后,其即可被akka监听到,然后通过akka内部的消息分发模式,该活动下的所有规则actor将接收到该活动触发事件并执行条件匹配,然后规则actor在akka内部以消息的形式分发给后续的动作actor并且由所述动作actor执行相应的结果,然后活动页面持续轮询动作actor执行的结果,在接收到执行结果后执行与活动规则对应的页面互动响应,完成用户
端的内容呈现,akka消息分发异步进行并且所有的消息发送都是并行的,因此当具有海量规则以及海量用户并发时,可以有效地提高响应速度。
59.图2为本发明提供计算机设备100的一种实施例的结构图,其可包括处理器10以及存储器20,在所述存储器20中存储有计算机程序,所述计算机程序可在所述处理器10上运行,从而实现上述实施方式所提供的一种基于aviator以及akka来提高活动页面超高并发时响应速度的方法步骤s101-s107。
60.所述处理器10可以是中央处理单元(cpu),还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机设备100的控制中心,利用各种接口和线路连接整个计算机设备100的各个部分。
61.所述存储器20可用于存储所述计算机程序和/或模块,所述处理器10通过运行或执行存储在所述存储器20内的计算机程序和/或模块,以及调用存储在存储器20内的数据,实现所述计算机设备的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的程序等;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡,安全数字卡,闪存卡、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
62.本发明还提供一种基于aviator以及akka来提高活动页面超高并发时响应速度的装置200,如图3所示,所述装置包括配置模块11、调用模块12、处理模块13、转化模块14、发送模块15、执行模块16、响应模块17、通知模块18、变更模块19。
63.其中,所述配置模块11用于为活动页面涉及的活动配置相应的活动规则并且将所述活动规则与所述活动进行绑定。
64.其中,所述调用模块12用于调用表达式计算引擎aviator将所述活动规则转化为aviator表达式。
65.其中,所述处理模块13用于akka直接读取表达式计算引擎aviator中的aviator表达式并将所有的所述活动规则对应的aviator表达式实例化成规则actor并将所有规则actor通过akka cluste进行集群分发,其中,每一活动规则对应一规则actor。
66.其中,所述转化模块14用于通过akka监听活动触发事件,当监听到用户端在活动页面上的活动触发事件时,通过akka将所述活动触发事件转化为akka内部消息。
67.其中,所述发送模块15用于将所述内部消息发送给与所述活动触发事件对应的活动对应的规则actor。
68.其中,所述执行模块16用于进行条件匹配,当匹配成功时,所述规则actor在akka内部以消息的形式分发给后续的动作actor并且由所述动作actor执行相应的结果。
69.其中,所述响应模块17用于活动页面持续轮询动作actor执行的结果,在接收到执行结果后执行与所述活动规则对应的页面互动响应。
70.其中,所述通知模块18用于当所述活动规则发生变更时,所述表达式计算引擎aviator发出活动规则变更的通知。
71.其中,所述变更模块19用于当akka监听到规则变更事件时,akka销毁原活动规则
对应的aviator表达式所实例化的规则actor并根据所述规则变更事件将变更后的活动规则对应的aviator表达式重新进行实例化成规则actor。
72.进一步的,所述活动规则包括活动触发事件、活动条件事件以及活动动作事件;
73.其中,进行条件匹配,当匹配成功时,所述规则actor在akka内部以消息的形式分发给后续的动作actor并且由所述动作actor执行相应的结果,包括:
74.基于表达式计算引擎aviator进行活动条件表达式计算,当计算结果匹配时,所述规则actor在akka内部以消息的形式分发给后续的动作actor并且由所述动作actor执行相应的结果。
75.进一步的,通过客户端进行活动规则配置并传递至后台服务器中,后台服务器调用表达式计算引擎aviator将所述活动规则转化为aviator表达式。
76.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1