一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种事件处理方法及装置、终端、计算机可读存储介质与流程

2021-12-07 21:19:00 来源:中国专利 TAG:


1.本发明涉及事件处理应用领域,特别是涉及一种事件处理方法及装置、终端、计算机可读存储介质。


背景技术:

2.随着业务发展壮大,推送呈现出的多样化趋势,推送事件的数量也随之上升,在这些大量的推送事件中需要筛选用户感兴趣的内容,以控制给用户发送推送的数量,以达到用最少的推送条数,获得最高收益的目的。
3.传统方案在控制这类业务场景时,通常采用第一个到达的事件持有一把锁,其他后到达的事件忙等待的方案,以达到事件串行处理,而这种通过进行加锁以实现串行化处理的方式不仅消耗存储成本,还消耗计算资源。


技术实现要素:

4.本技术主要解决的技术问题是提供事件处理方法及装置、终端、计算机可读存储介质,以减小内存资源消耗,实现对高并发事件的无锁串行处理。
5.为解决上述问题,本技术提供了一种事件处理方法,包括:获取到触发待处理事件的用户编码;利用智能设备的处理单元的数量与所述用户编码的对应关系,确定处理所述待处理事件的处理单元标识,并将所述处理单元标识对应的处理单元确定为目标处理单元;通过所述目标处理单元对对应的所述待处理事件进行处理。
6.其中,所述利用智能设备的处理单元的数量与所述用户编码的对应关系,确定处理所述待处理事件的处理单元标识,并将所述处理单元标识对应的处理单元确定为目标处理单元的步骤,包括:确定所述用户编码与所述处理单元的数量的余数;利用所述余数确定处理所述待处理事件的处理单元标识,并将所述处理单元标识对应的处理单元确定为所述目标处理单元。
7.其中,所述利用所述余数确定处理所述处理事件的处理单元标识,并将所述处理单元标识对应的处理单元确定为所述目标处理单元的步骤,包括:将处理单元标识与所述余数相同的处理单元确定为所述目标处理单元。
8.其中,所述获取到触发待处理事件的用户编码的步骤,包括:通过所述智能设备的各所述处理单元分别获取所述用户编码;所述利用智能设备的处理单元的数量与所述用户编码的对应关系,确定处理所述待处理事件的处理单元标识,并将所述处理单元标识对应的处理单元确定为目标处理单元的步骤,包括:通过所述各处理单元分别判断其自身的处理单元标识是否满足所述对应关系;将自身的处理单元标识满足所述对应关系的处理单元确定为所述目标处理单元,并通过所述目标处理单元处理所述待处理事件。
9.其中,所述将自身的处理单元编码满足所述对应关系的处理单元确定为所述目标处理单元,并通过所述目标处理单元处理所述待处理事件的步骤之后,包括:响应于所述目标处理单元处理所述待处理事件完成,删除所述待处理事件。
10.其中,所述事件处理方法还包括:响应于各所述处理单元的处理单元标识均不满足所述对应关系,删除所述待处理事件。
11.其中,所述获取到触发待处理事件的用户编码的步骤,还包括:获取到至少一个所述待处理事件,并将所述至少一个待处理事件存储到环形队列中。
12.为了解决上述问题,本技术还提供一种事件处理装置,包括:获取单元,用于获取触发待处理事件的用户编码;确定单元,利用智能设备的处理单元的数量与所述用户编码的对应关系,确定处理所述待处理事件的处理单元标识,并将所述处理单元标识对应的处理单元确定为目标处理单元;处理单元,对对应的所述处理事件进行处理。
13.为了解决上述问题,本技术还提供一种终端,终端包括相互耦接的处理器和存储器,存储器用于存储程序指令,处理器用于执行存储器存储的程序指令以实现上述任一实施例的事件处理方法。
14.为了解决上述问题,本技术还提供了一种计算机可读存储介质,该计算机可读存储介质包括处理器和存储器,存储器存储有计算机程序指令,处理器用于执行程序指令以上述任一实施例的事件处理方法。
15.本技术的有益效果是:获取到触发待处理事件的用户编码,利用智能设备的处理单元的数量与用户编码的对应关系,确定处理待处理事件的处理单元标识,并将处理单元标识对应的处理单元确定为目标处理单元,通过目标处理单元对对应的待处理事件进行处理,从而使待处理事件能有序地被智能设备的各个处理单元分别进行处理,实现了无锁事件的串行处理,也避免了同一事件被多个处理单元进行处理导致的资源浪费,从而减小了存储成本以及计算资源的消耗。
附图说明
16.图1为本技术事件处理方法一实施方式的流程示意图;
17.图2为本技术事件处理方法另一实施方式的流程示意图;
18.图3为本技术事件处理方法又一实施方式的流程示意图
19.图4为本技术事件处理方法又又一实施方式的流程示意图;
20.图5为本技术事件处理装置一实施方式的结构示意图;
21.图6为本技术终端一实施方式的结构示意图;
22.图7为本技术计算机可读存储介质一实施方式的结构示意图。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.本技术提供一种网络授时的误差校正方法,请参阅图1,图1为本技术事件处理方法一实施方式的流程示意图,如图1所示,该方法包括以下步骤:
25.步骤s11:获取到触发待处理事件的用户编码。
26.其中,待处理事件包括多个待处理事件。本实施例可以对高并发事件进行串联处
理。具体地,智能设备获取到待处理事件,通过该待处理事件的发送位置获取到触发待处理事件的用户编码。其中,用户编码包括推送/发布待处理事件的用户id。
27.该步骤还包括:获取到至少一个待处理事件,并将至少一个待处理事件存储到环形队列中。其中,环形队列为一种缓存队列,可被智能设备的各个处理单元分别进行访问,以读取触发待处理事件的用户编码。
28.步骤s12:利用智能设备的处理单元的数量与用户编码的对应关系,确定处理待处理事件的处理单元标识,并将处理单元标识对应的处理单元确定为目标处理单元。
29.在本实施例中,处理单元是指电脑的cpu,智能设备是指计算机/ 电脑。在本实施例中,智能设备的处理单元可以包括同一系统内的多个计算机上的cpu处理单元。
30.其中,处理单元包括特定的处理单元标识,处理单元标识可以是处理单元id也可以是处理单元编码,与用户编码对应。
31.在本步骤包括:获取各处理单元的处理单元标识。
32.在本步骤之前还包括:为每个处理单元分配从0到n的编码或id,以将该编码或id作为各处理单元的处理单元标识。
33.在一实施方式中,通过计算用户编码与处理单元的数量的余数,利用余数确定处理待处理事件的处理单元标识,并将处理单元标识对应的处理单元确定为目标处理单元。在另一实施方式中,通过用户编码的尾数与处理单元的数量的关系确定待处理事件的处理单元标识,并将处理单元标识对应的处理单元确定为目标处理单元。在此不作限定。
34.步骤s13:通过目标处理单元对对应的待处理事件进行处理。
35.具体地,目标处理单元是智能设备的某一个处理单元。
36.在本步骤之后还包括:响应于目标处理单元处理待处理事件处理完成,或响应于各处理单元的处理单元标识均不满足上述对应关系,从环形队列中删除待处理事件。
37.具体地,在本实施例中,通过各处理单元分别依次判断自身的处理单元标识是否满足对应关系,若满足,则通过自身的处理单元对待处理事件进行处理,若不满足,则通过另一处理单元判断自身的处理单元标识是否满足对应关系,若所有的处理单元的处理单元标识均不满足对应关系,则所有的处理单元均不对该待处理事件进行处理,并将该待处理事件从队列中删除。
38.本实施例的有益效果是:获取到触发待处理事件的用户编码,利用智能设备的处理单元的数量与用户编码的对应关系,确定处理待处理事件的处理单元标识,并将处理单元标识对应的处理单元确定为目标处理单元,通过目标处理单元对对应的待处理事件进行处理,从而使待处理事件能有序地被智能设备的各个处理单元分别进行处理,实现了无锁事件的串行处理,也避免了同一事件被多个处理单元进行处理导致的资源浪费,从而减小了存储成本以及计算资源的消耗。
39.本技术提供另一种事件处理方法,具体请参阅图2,图2为本技术事件处理方法另一实施方式的流程示意图。如图2所示,具体包括:
40.步骤s21:获取到触发待处理事件的用户编码。
41.该步骤还包括:获取到至少一个待处理事件,并将至少一个待处理事件存储到环形队列中。环形队列中包括多个待处理事件。
42.其中,用户编码包括推送/发布待处理事件的用户id。
43.步骤s22:确定用户编码与智能设备的处理单元的数量的余数。
44.具体地,利用除法公式计算用户编码除以处理单元的总数量的余数。用公式表示如下:用户编码=处理单元的总数量
×
m 余数,其中,m为正整数。例如,待处理单元的用户编码为222,处理单元的总数量为10,则,获取到该待处理单元的用户编码与处理单元的数量的余数为2。
45.步骤s23:利用余数确定处理待处理事件的处理单元标识,并将处理单元标识对应的处理单元确定为目标处理单元。
46.在一具体实施方式中,可以将处理单元标识与余数相同的处理单元确定为目标处理单元,也可以将处理单元标识与余数满足对应关系的处理单元确定为目标处理单元。
47.具体地,将处理单元标识与余数相同的处理单元确定为目标处理单元的步骤之前还包括:为每个处理单元分配从0到n的编码或id,以将该编码或id作为各处理单元的处理单元标识。将处理单元标识与余数相同的处理单元确定为目标处理单元的步骤包括:如当前余数为0,则将处理单元标识为0的处理单元确定为目标处理单元,若当前余数为2,则将处理单元标识为2的处理单元确定为目标处理单元。
48.在另一实施方式中,将处理单元标识与余数满足对应关系的处理单元确定为目标处理单元的步骤之前还包括:为每个处理单元分配从1到 n的编码或id,以将该编码或id作为各处理单元的处理单元标识。将处理单元标识与余数满足对应关系的处理单元确定为目标处理单元的步骤包括:以余数为基准进行再运算来确定处理单元标识。具体如以余数为基准进行 1运算确定处理单元标识,或以余数为基准进行

1运算来确定处理单元标识。例如,当前余数为2,以该余数为基准进行 1运算,得到处理单元标识为3,则将处理单元标识为3的处理单元确定为目标处理单元。还可以利用减一运算,得到处理单元标识,在此不作限定。
49.步骤s24:通过目标处理单元对对应的待处理事件进行处理。
50.在本步骤之后还包括:响应于目标处理单元处理待处理事件处理完成,或响应于各处理单元的处理单元标识均不满足上述对应关系,从环形队列中删除待处理事件。
51.具体地,在本实施例中,通过各处理单元分别依次判断自身的处理单元标识是否满足对应关系,若满足,则通过自身的处理单元对待处理事件进行处理,若不满足,则通过另一处理单元判断自身的处理单元标识是否满足对应关系,若所有的处理单元的处理单元标识均不满足对应关系,则所有的处理单元均不对该待处理事件进行处理,并将该待处理事件从队列中删除。
52.本实施例的有益效果是:利用余数的方式确定处理待处理事件的目标处理单元,能得到唯一一个目标处理单元对待处理事件进行处理,从而避免的同一待处理事件在未加锁的情况下,被多个处理单元进行处理,从而减少了资源的消耗。
53.本技术还提供又一种事件处理方法,具体请参阅图3,图3为本技术事件处理方法又一实施方式的流程示意图。如图2所示,具体包括:
54.步骤s31:获取到触发待处理事件的用户编码。
55.该步骤还包括:获取到至少一个待处理事件,并将至少一个待处理事件存储到环形队列中。环形队列中包括多个待处理事件。
56.其中,用户编码包括推送/发布待处理事件的用户id。
57.步骤s32:确定用户编码与智能设备的处理单元的数量的余数。
58.具体地,利用除法公式计算用户编码除以处理单元的总数量的余数。用公式表示如下:用户编码=处理单元的总数量
×
m 余数,其中,m为正整数。例如,待处理单元的用户编码为222,处理单元的总数量为10,则,获取到该待处理单元的用户编码与处理单元的数量的余数为2。
59.步骤s33:将处理单元标识与余数相同的处理单元确定为目标处理单元。
60.在本步骤之前还包括:为每个处理单元分配从0到n的编码或id,以将该编码或id作为各处理单元的处理单元标识。具体地,若余数为0,则将处理单元标识为0的处理单元确定为目标处理单元,若当前余数为 2,则将处理单元标识为2的处理单元确定为目标处理单元。
61.步骤s34:通过目标处理单元对对应的待处理事件进行处理。
62.在本步骤之后还包括:响应于目标处理单元处理待处理事件处理完成,或响应于各处理单元的处理单元标识均不满足上述对应关系,从环形队列中删除待处理事件。
63.具体地,在本实施例中,通过各处理单元分别依次判断自身的处理单元标识是否满足对应关系,若满足,则通过自身的处理单元对待处理事件进行处理,若不满足,则通过另一处理单元判断自身的处理单元标识是否满足对应关系,若所有的处理单元的处理单元标识均不满足对应关系,则所有的处理单元均不对该待处理事件进行处理,并将该待处理事件从队列中删除。
64.本实施例的有益效果是:利用余数的方式确定处理待处理事件的目标处理单元,能得到唯一一个目标处理单元对待处理事件进行处理,从而避免的同一待处理事件在未加锁的情况下,被多个处理单元进行处理,从而减少了资源的消耗。
65.本技术还提供又又一种事件处理方法,具体请参阅图4,图4为本技术事件处理方法又又一实施方式的流程示意图。如图4所示,包括:
66.步骤s41:通过智能设备的各处理单元分别获取用户编码。
67.具体地,通过各处理单元分别读取环形队列中的某一个待处理事件以及待处理事件的用户编码。
68.步骤s42:通过各处理单元分别判断其自身的处理单元标识是否满足对应关系。
69.其中,对应关系是各处理单元自身的处理单元标识与用户编码和处理单元的总数量的余数相同,或与该余数满足某种运算关系。
70.在本实施例中,每个处理单元均会对环形队列中的每个待处理事件进行访问,从而确定自身的处理单元标识是否满足对应关系,并执行步骤s43。
71.步骤s43:将自身的处理单元标识满足对应关系的处理单元确定为目标处理单元。
72.本步骤还包括:若自身的处理单元标识不满足对应关系,则该处理单元不对待处理事件进行处理。
73.步骤s44:通过目标处理单元处理待处理事件。
74.确定目标处理单元后,就可以通过目标处理单元对待处理事件进行处理。
75.在本实施例中还包括:响应于各处理单元的处理单元标识均不满足对应关系,则
删除待处理事件。具体地,在本实施例中,通过各处理单元分别依次判断自身的处理单元标识是否满足对应关系,若满足,则通过自身的处理单元对待处理事件进行处理,若不满足,则通过另一处理单元判断自身的处理单元标识是否满足对应关系,若所有的处理单元的处理单元标识均不满足对应关系,则所有的处理单元均不对该待处理事件进行处理,并将该待处理事件从队列中删除。
76.在本实施例的有益效果是:通过各处理单元分别对待处理事件进行判断其自身标识是否满足对应关系,若满足,则对待处理事件进行处理,若所有处理单元均不满足对应关系,则将待处理事件进行删除,从而保证待处理事件能有效地被各处理单元进行处理,从而实现待处理事件的无锁串行处理。
77.本技术还提供一种事件处理装置,请参阅图5,图5为本技术事件处理装置一实施方式的结构示意图。如图5所示,该事件处理装置50 包括:获取单元51:用于获取触发待处理事件的用户编码。确定单元 52,利用智能设备的处理单元的数量与用户编码的对应关系,确定处理待处理事件的处理单元标识,并将处理单元标识对应的处理单元确定为目标处理单元。处理单元53,对对应的处理事件进行处理。
78.本技术还提供一种终端,请参阅图6,图6为本技术终端一实施方式的结构示意图,如图6所示,终端60包括相互耦接的处理器601和存储器602,处理器601用于执行存储器602存储的程序指令以实现上述任一方法实施例中的步骤或者上述任一方法实施例中智能设备对应执行的步骤。该终端60除包括上述处理器601和存储器602之外,还可根据需求包括触摸屏、打印组件、通信电路等,在此不做限定。
79.具体而言,处理器601用于控制其自身以及存储器602以实现上述任一方法实施例中的步骤。处理器601还可以称为cpu(centralprocessing unit,中央处理单元)。处理器601可能是一种集成电路芯片,具有信号的处理能力。处理器601还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specificintegrated circuit,asic)、现场可编程门阵列(field

programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器601可以由多个集成电路芯片共同实现。
80.本技术还提供一种计算机可读存储介质,如图7所示,图7为本技术计算机可读存储介质一实施方式的结构示意图。
81.计算机可读存储介质70包括计算机可读存储介质70上存储的计算机程序701,计算机程序701被上述处理器执行时实现上述任一方法实施例中的步骤或者上述方法实施例中事件处理方法对应执行的步骤。
82.具体地,集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质70中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质70中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的计算机可读存储介质70包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,
randomaccess memory)、磁碟或者光盘等各种可以存储程序代码的介质。
83.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
84.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
85.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
86.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)或处理器(processor) 执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
87.以上仅为本技术的实施方式,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献