事件分发方法、装置及存储介质与流程

文档序号:33521210发布日期:2023-03-22 06:37阅读:46来源:国知局
事件分发方法、装置及存储介质与流程

1.本技术涉及数据处理领域,特别涉及一种事件分发方法、装置及存储介质。


背景技术:

2.在事件分发系统中,分发端可以按照同步分发方式向多个接收端分发事件,以使该多个接收端来处理对应的事件。通过同步分发方式分发事件的过程可以包括:按照接收端的优先级对该多个接收端进行排序,基于该多个接收端的排序位置,向该多个接收端分发事件。其中,在上一个接收端接收到事件并处理后,才向下一个接收端分发事件。
3.但是为了保证事件分发的时效性,通常会设置超时检测机制,即在某个接收端处理事件的过程中,检测该接收端的事件处理过程是否已超时,在该接收端的事件处理过程超时的情况下,不会继续向剩下的接收端分发事件,导致剩下的接收端没有处理事件,从而造成软件层面的功能缺失。


技术实现要素:

4.本技术提供了一种事件分发方法、装置及存储介质,可以解决相关技术中部分接收端无法处理到事件从而造成软件层面的功能缺失的问题。所述技术方案如下:
5.一方面,提供了一种事件分发方法,所述方法包括:
6.获取多个接收端中每个接收端的事件处理数据,所述事件处理数据用于描述相应接收端对事件的实际处理情况;
7.基于所述多个接收端的事件处理数据和所述多个接收端的优先级,对所述多个接收端的排序位置进行调整;
8.基于调整后的所述多个接收端的排序位置,向所述多个接收端分发事件。
9.可选地,所述基于所述多个接收端的事件处理数据和所述多个接收端的优先级,对所述多个接收端的排序位置进行调整,包括:
10.如果所述多个接收端中存在至少两个接收端的优先级相同,则基于所述至少两个接收端的事件处理数据,对所述至少两个接收端的优先级进行调整;
11.在所述至少两个接收端的优先级调整后,如果所述多个接收端中还存在至少两个接收端的优先级相同,则返回基于所述至少两个接收端的事件处理数据,对所述至少两个接收端的优先级进行调整的步骤,直至所述多个接收端中不存在优先级相同的接收端为止;
12.基于调整后的所述多个接收端的优先级,对所述多个接收端的排序位置进行调整。
13.可选地,所述事件处理数据包括事件处理时长,所述事件处理时长为相应接收端处理各个事件所用时长的平均值;
14.所述基于所述至少两个接收端的事件处理数据,对所述至少两个接收端的优先级进行调整,包括:
15.基于所述多个接收端的优先级中的最高优先级和所述至少两个接收端的事件处理时长,确定所述至少两个接收端的权重系数;
16.基于所述至少两个接收端的权重系数,对所述至少两个接收端的优先级进行调整。
17.可选地,所述事件处理数据包括事件成功数量和事件总数量,所述事件成功数量为相应接收端处理成功的事件数量,所述事件总数量为相应接收端处理的事件总数量;
18.所述基于所述多个接收端的事件处理数据和所述多个接收端的优先级,对所述多个接收端的排序位置进行调整,包括:
19.基于所述至少两个接收端的事件成功数量和事件总数量,确定所述至少两个接收端的优先级调整量;
20.基于所述至少两个接收端的优先级调整量,对所述至少两个接收端的优先级进行调整。
21.可选地,所述事件处理数据包括事件处理时长、事件成功数量和事件总数量,所述事件处理时长为相应接收端处理各个事件所用时长的平均值,所述事件成功数量为相应接收端处理成功的事件数量,所述事件总数量为相应接收端处理的事件总数量;
22.所述基于所述多个接收端的事件处理数据和所述多个接收端的优先级,对所述多个接收端的排序位置进行调整,包括:
23.基于所述多个接收端的优先级中的最高优先级和所述至少两个接收端的事件处理时长,确定所述至少两个接收端的权重系数;
24.基于所述至少两个接收端的事件成功数量和事件总数量,确定所述至少两个接收端的优先级调整量;
25.基于所述至少两个接收端的权重系数和优先级调整量,对所述至少两个接收端的优先级进行调整。
26.另一方面,提供了一种事件分发装置,所述装置包括:
27.获取模块,用于获取多个接收端中每个接收端的事件处理数据,所述事件处理数据用于描述相应接收端对事件的实际处理情况;
28.调整模块,用于基于所述多个接收端的事件处理数据和所述多个接收端的优先级,对所述多个接收端的排序位置进行调整;
29.分发模块,用于基于调整后的所述多个接收端的排序位置,向所述多个接收端分发事件。
30.可选地,所述调整模块包括:
31.第一调整子模块,用于如果所述多个接收端中存在至少两个接收端的优先级相同,则基于所述至少两个接收端的事件处理数据,对所述至少两个接收端的优先级进行调整;
32.返回子模块,用于在所述至少两个接收端的优先级调整后,如果所述多个接收端中还存在至少两个接收端的优先级相同,则返回基于所述至少两个接收端的事件处理数据,对所述至少两个接收端的优先级进行调整的步骤,直至所述多个接收端中不存在优先级相同的接收端为止;
33.第二调整子模块,用于基于调整后的所述多个接收端的优先级,对所述多个接收
端的排序位置进行调整。
34.可选地,所述事件处理数据包括事件处理时长,所述事件处理时长为相应接收端处理各个事件所用时长的平均值;所述第一调整子模块具体用于:
35.基于所述多个接收端的优先级中的最高优先级和所述至少两个接收端的事件处理时长,确定所述至少两个接收端的权重系数;
36.基于所述至少两个接收端的权重系数,对所述至少两个接收端的优先级进行调整。
37.可选地,所述事件处理数据包括事件成功数量和事件总数量,所述事件成功数量为相应接收端处理成功的事件数量,所述事件总数量为相应接收端处理的事件总数量;所述第一调整子模块具体用于:
38.基于所述至少两个接收端的事件成功数量和事件总数量,确定所述至少两个接收端的优先级调整量;
39.基于所述至少两个接收端的优先级调整量,对所述至少两个接收端的优先级进行调整。
40.可选地,所述事件处理数据包括事件处理时长、事件成功数量和事件总数量,所述事件处理时长为相应接收端处理各个事件所用时长的平均值,所述事件成功数量为相应接收端处理成功的事件数量,所述事件总数量为相应接收端处理的事件总数量;所述第一调整子模块具体用于:
41.基于所述多个接收端的优先级中的最高优先级和所述至少两个接收端的事件处理时长,确定所述至少两个接收端的权重系数;
42.基于所述至少两个接收端的事件成功数量和事件总数量,确定所述至少两个接收端的优先级调整量;
43.基于所述至少两个接收端的权重系数和优先级调整量,对所述至少两个接收端的优先级进行调整。
44.另一方面,提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器用于存放计算机程序,所述处理器用于执行所述存储器上所存放的计算机程序,以实现上述所述的事件分发方法的步骤。
45.另一方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所述事件分发方法的步骤。
46.另一方面,提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述所述的事件分发方法的步骤。
47.本技术提供的技术方案至少可以带来以下有益效果:
48.由于接收端的事件处理数据能够描述接收端对事件的实际处理情况,所以,基于该多个接收端的事件处理数据和该多个接收端的优先级,对该多个接收端的排序位置进行调整时,可以将事件处理速度快的接收端的排序位置调整的靠前,将事件处理速度慢的接收端的排序位置调整的靠后。这样,按照调整后的该多个接收端的排序位置向该多个接收端分发事件时,能够保证事件处理速度快的接收端先被分发事件,事件处理速度慢的后被分发事件。并且,在具有超时检测机制的情况下,能够确保尽可能多的接收端被分发到事件,提高了事件分发的效率,保证了软件层面的功能完整性。
附图说明
49.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
50.图1是本技术实施例提供的一种事件分发方法的流程图;
51.图2是本技术实施例提供的一种事件分发装置的结构示意图;
52.图3是本技术实施例提供的一种电子设备的结构框图;
53.图4是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
54.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
55.在对本技术实施例提供的事件分发方法进行详细地解释说明之前,先对本技术实施例涉及的应用场景和执行主体进行介绍。
56.首先对本技术实施例涉及的应用场景进行介绍。
57.本技术实施例提供的事件分发方法可以应用于多种场景。例如,在同一个操作系统运行的两个应用程序之间进行通信时,其中一个应用程序中的线程可以作为分发端,另一个应用程序中的多个线程可以作为接收端,进而按照本技术实施例提供的事件分发方法来分发事件。或者,在同一个应用程序中的多个线程进行通信时,其中一个线程可以作为分发端,其他多个线程可以作为接收端,进而按照本技术实施例提供的事件分发方法来分发事件。又例如,在服务器通过多个计算设备处理数据的情况下,服务器可以作为分发端,该多个计算设备可以作为接收端,进而按照本技术实施例提供的事件分发方法来分发事件。
58.也就是说,本技术实施例提供的事件分发方法中,分发端可以为线程、服务器等等,接收端可以为线程、计算设备等等。当然,分发端和接收端还可以为应用程序、进程、电子设备等等。
59.需要说明的是,服务器可以是一台独立的服务器,也可以是由多台物理服务器组成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,或者是一个云计算服务中心。
60.电子设备可以为pc(personal computer,个人计算机)、智能手机、pda(personal digital assistant,个人数字助手)、可穿戴设备、掌上电脑ppc(pocket pc)、平板电脑、智能车机、智能电视、智能音箱等。
61.本领域技术人员应能理解上述应用场景仅为举例,其他现有的或今后可能出现的应用场景如可适用于本技术实施例,也应包含在本技术实施例保护范围以内,并在此以引用方式包含于此。
62.接下来对本技术实施例提供的事件分发方法进行详细地解释说明。
63.图1是本技术实施例提供的一种事件分发方法的流程图,该方法应用于事件分发
系统中。请参考图1,该方法包括如下步骤。
64.步骤101:分发端获取多个接收端中每个接收端的事件处理数据,该事件处理数据用于描述相应接收端对事件的实际处理情况。
65.接收端的事件处理数据可以为该接收端在目标时间段内对事件的实际处理情况。而且,接收端可以在每次处理一个事件后,将该事件的实际处理情况发送给分发端,这样,分发端可以统计该接收端在目标时间段内的事件处理数据。当然,接收端也可以每隔一定时间将其处理的各个事件的实际处理情况发送给分发端。或者,分发端每隔一定时间从接收端中获取其处理的各个事件的实际处理情况。然后,统计该接收端在目标时间段内的事件处理数据。
66.需要说明的是,目标时间段为当前时间之前且距离当前时间最近的一个时间段,而且目标时间段的时长是事先设置的,在实际应用中,目标时间段的时长还可以按照不同的需求来调整。
67.事件处理数据可以包括事件处理时长,也可以包括事件成功数量和事件总数量,还可以同时包括事件处理时长、事件成功数量和事件总数量。其中,该事件处理时长为相应接收端处理各个事件所用时长的平均值,事件成功数量为相应接收端处理成功的事件数量,事件总数量为相应接收端处理的事件总数量。
68.基于上文描述,分发端是按照该多个接收端的优先级对该多个接收端进行排序,并基于各个接收端的排序位置向该多个接收端分发事件。通常情况下,接收端的优先级是固定不变的,这样该多个接收端的排序位置也是固定不变的。但是接收端处理事件的过程中,可能会因为各种因素导致接收端的事件处理速度发生变化,进而可能会出现事件处理过程超时的情况,所以,本技术实施例可以获取该多个接收端中每个接收端的事件处理数据,通过接收端的事件处理数据来表征接收端的事件处理速度,进而动态确定每个接收端的事件处理能力。
69.步骤102:分发端基于该多个接收端的事件处理数据和该多个接收端的优先级,对该多个接收端的排序位置进行调整。
70.在一些实施例中,可以基于该多个接收端的事件处理数据和该多个接收端的优先级,按照如下步骤(1)-(3)对该多个接收端的排序位置进行调整。
71.(1)如果该多个接收端中存在至少两个接收端的优先级相同,则基于该至少两个接收端的事件处理数据,对该至少两个接收端的优先级进行调整。
72.该调整过程包括三种情况,接下来对该三种情况进行介绍。
73.情况1,事件处理数据包括事件处理时长。此时,基于该多个接收端的优先级中的最高优先级和该至少两个接收端的事件处理时长,确定该至少两个接收端的权重系数。基于该至少两个接收端的权重系数,对该至少两个接收端的优先级进行调整。
74.接收端的事件处理时长能够代表接收端的事件处理速度,事件处理时长越短,表明接收端的事件处理速度越快,接收端的事件处理能力越强,因此可以基于该至少两个接收端的事件处理时长,对该至少两个接收端的优先级进行调整,以使事件处理能力强的接收端的优先级高于事件处理能力弱的接收端的优先级,进而保证尽可能多的接收端能够被分发到事件。
75.由于该至少两个接收端的权重系数的确定方式相同,该至少两个接收端的优先级
调整方式也相同,因此接下来以其中一个接收端为例进行说明。
76.作为一种示例,可以通过如下公式(1)确定该接收端的权重系数;
[0077][0078]
其中,在公式(1)中,w代表该接收端的权重系数,p
max
代表该多个接收端的优先级中的最高优先级,t代表该接收端的事件处理时长。
[0079]
作为一种示例,可以通过如下公式(2)对该接收端的优先级进行调整;
[0080]
p1=w
×
p2ꢀꢀꢀꢀꢀꢀ
(2)
[0081]
其中,在公式(2)中,p1代表该接收端调整后的优先级,w代表该接收端的权重系数,p2代表该接收端调整前的优先级。
[0082]
示例地,假设该多个接收端的优先级中的最高优先级p
max
为5,接收端1的事件处理时长t为4s,接收端1调整前的优先级p2为3,则通过公式(1)计算得到接收端1的权重系数w为1.2,通过公式(2)计算得到接收端1调整后的优先级p1为3.6。
[0083]
可选地,为了保证对接收端的优先级进行调整时不会出现大幅度的变化,可以将本次获取的事件处理时长与之前多次获取的事件处理时长取平均值,然后再按照上述方法对该接收端的优先级进行调整。比如,本次获取的事件处理时长为tn,即本次是第n次调整接收端的优先级,在本次之前已经调整过n-1次,此时,可以将第n次获取的事件处理时长以及该n-1次获取的事件处理时长取平均值,将该平均值作为本次的事件处理时长。这样,在接收端的事件处理时长发生突变时,不会导致接收端的优先级发生突变。
[0084]
示例地,假设接收端1上次的事件处理时长为4s,本次的事件处理时长为1s,由于接收端1的事件处理时长变化较大,所以基于1s调整的优先级的变化较大,此时可将这两次获取到的事件处理时长取平均,进而基于该平均值2.5s来调整优先级时,不会导致接收端1的优先级发生突变。
[0085]
情况2,事件处理数据包括事件成功数量和事件总数量。此时,基于该至少两个接收端的事件成功数量和事件总数量,确定该至少两个接收端的优先级调整量。基于该至少两个接收端的优先级调整量,对该至少两个接收端的优先级进行调整。
[0086]
在该至少两个接收端的事件总数量相同的情况下,接收端的事件成功数量能够代表接收端的事件处理能力,事件成功数量越多,表明该接收端的事件处理能力越强。在该至少两个接收端的事件总数量不同的情况下,接收端的事件成功数量与事件总数量的比值能够代表接收端的事件处理能力,该比值越大,表明该接收端的事件处理能力越强。因此可基于该至少两个接收端的事件成功数量和事件总数量,对该至少两个接收端的优先级进行调整,以使事件处理能力强的接收端的优先级高于事件处理能力弱的接收端的优先级,进而保证尽可能多的接收端能够被分发到事件。
[0087]
由于该至少两个接收端的优先级调整量的确定方式相同,该至少两个接收端的优先级调整方式也相同,因此接下来以其中一个接收端为例进行介绍。
[0088]
作为一种示例,可以通过如下公式(3)确定该接收端的优先级调整量;
[0089][0090]
其中,在公式(3)中,a代表该接收端的优先级调整量,a1代表该接收端事件成功数
量,a2代表该接收端的事件总数量。
[0091]
作为一种示例,可以通过如下公式(4)对该接收端的优先级进行调整;
[0092]
p3=a+p4ꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0093]
其中,在公式(4)中,p3代表该接收端调整后的优先级,a代表该接收端的优先调整量,p4代表该接收端调整前的优先级。
[0094]
示例地,假设接收端1调整前的优先级p4为3,接收端1的事件总数量a2为10,接收端1的事件成功数量a1为6,则通过公式(3)计算得到接收端1的优先调整量a为0.6,通过公式(4)计算得到接收端1调整后的优先级p3为3.6。
[0095]
情况3,事件处理数据包括事件处理时长、事件成功数量和事件总数量。此时,基于该多个接收端的优先级中的最高优先级和该至少两个接收端的事件处理时长,确定该至少两个接收端的权重系数。基于该至少两个接收端的事件成功数量和事件总数量,确定该至少两个接收端的优先级调整量。基于该至少两个接收端的权重系数和优先级调整量,对该至少两个接收端的优先级进行调整。
[0096]
由于对该至少两个接收端的优先级进行调整的方式相同,因此接下来以其中一个接收端为例进行说明。作为一种示例,可以通过如下公式(5)对该接收端的优先级进行调整;
[0097]
p5=w
×
p6×
r1+(a
×
v+p6)
×
r2ꢀꢀꢀꢀꢀꢀꢀ
(5)
[0098]
其中,在公式中(5),p5代表该接收端调整后的优先级,w代表该接收端的权重系数,p6代表该接收端调整前的优先级,r1代表通过事件处理时长调整接收端的优先级时所占的比例,a代表该接收端的优先级调整量,v代表调整阈值,r2代表通过事件成功数量和事件总数量调整接收端的优先级时所占的比例,r1和r2相加为1。
[0099]
示例地,假设接收端1调整前的优先级p6为3,接收端1的权重系数w为1.24,r1为0.5,接收端1的优先级调整量为0.4,调整阈值v为1,r2为0.5,此时,通过公式(5)可以计算得到接收端1调整后的优先级为3.575。
[0100]
需要说明的是,上述是以r1为0.5、r2为0.5以及调整阈值v为1为例进行说明的。在实际应用中,r1、r2以及调整阈值v的取值还可以按照不同的需求进行调整,例如,在将事件处理时长作为调整接收端的优先级的主要因素的情况下,可将r1设置为0.6,r2设置为0.4,调整阈值v设置为1。又例如,在将事件成功数量和事件处理总数量作为调整接收端的优先级的主要因素的情况下,可将r1设置为0.4,r2设置为0.6,调整阈值v设置为2。本技术实施例对此不作限定。
[0101]
另外,确定该至少两个接收端的权重系数的实现过程请参考上述情况1中的相关内容,确定该至少两个接收端的优先级调整量的实现过程请参考上述情况2中的相关内容,此处不再赘述。
[0102]
(2)在该至少两个接收端的优先级调整后,如果该多个接收端中还存在至少两个接收端的优先级相同,则返回步骤(1),直至该多个接收端中不存在优先级相同的接收端为止。
[0103]
需要说明的是,在当前为首次调整优先级的情况下,该多个接收端调整前的优先级为初始优先级。在当前为非首次调整优先级的情况下,该多个接收端调整前的优先级为该上次调整后的优先级。
[0104]
在一些实施例中,分发端包括监听器,该多个接收端可以向该监听器进行注册,以将该多个接收端的初始优先级告知给分发端。这样,分发端可以在初始优先级的基础上,按照上述方法逐步调整该多个接收端的优先级。
[0105]
(3)基于调整后的该多个接收端的优先级,对该多个接收端的排序位置进行调整。
[0106]
通过上述步骤(1)-(2)对该多个接收端的优先级进行调整后,可以保证该多个接收端的优先级都是不同的,这样,可以基于该多个接收端的优先级,按照优先级从大到小的顺序对该多个接收端的排序位置进行调整。
[0107]
需要说明的是,对于某个接收端来说,按照上述方式计算的该接收端的优先级可能大于该多个接收端的优先级中的最高优先级。此时,可以直接将该接收端的优先级设置为最高优先级。在这种情况下,调整后的该多个接收端的优先级中可能存在至少两个接收端的优先级均为最高优先级,此时,可以按照该至少两个接收端的事件处理时长从小到大的顺序,对最高优先级的接收端的排序位置进行调整。
[0108]
步骤103:分发端基于调整后的该多个接收端的排序位置,向该多个接收端分发事件。
[0109]
基于调整后的该多个接收端的排序位置,向排序位置为1的接收端分发事件,在排序位置为1的接收端处理完事件后,再向排序位置为2的接收端分发事件,依次类推,向剩余的接收端分发事件。
[0110]
在分发端包括监听器的情况下,该分发端可以基于调整后的该多个接收端的排序位置,通过该监听器向该多个接收端分发事件。
[0111]
由于接收端的事件处理数据能够描述接收端对事件的实际处理情况,所以,基于该多个接收端的事件处理数据和该多个接收端的优先级,对该多个接收端的排序位置进行调整时,可以将事件处理速度快的接收端的排序位置调整的靠前,将事件处理速度慢的接收端的排序位置调整的靠后。这样,按照调整后的该多个接收端的排序位置向该多个接收端分发事件时,能够保证事件处理速度快的接收端先被分发事件,事件处理速度慢的后被分发事件。并且,在具有超时检测机制的情况下,能够确保尽可能多的接收端被分发到事件,提高了事件分发的效率,保证了软件层面的功能完整性。
[0112]
图2是本技术实施例提供的一种事件分发装置的结构示意图,该事件分发装置可以由软件、硬件或者两者的结合实现成为分发端的部分或者全部。请参考图2,该装置包括:获取模块201、调整模块202和分发模块203。
[0113]
获取模块201,用于获取多个接收端中每个接收端的事件处理数据,事件处理数据用于描述相应接收端对事件的实际处理情况;
[0114]
调整模块202,用于基于多个接收端的事件处理数据和多个接收端的优先级,对多个接收端的排序位置进行调整;
[0115]
分发模块203,用于基于调整后的多个接收端的排序位置,向多个接收端分发事件。
[0116]
可选地,调整模块201包括:
[0117]
第一调整子模块,用于如果多个接收端中存在至少两个接收端的优先级相同,则基于至少两个接收端的事件处理数据,对至少两个接收端的优先级进行调整;
[0118]
返回子模块,用于在至少两个接收端的优先级调整后,如果多个接收端中还存在
audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0133]
通常,电子设备包括有:处理器301和存储器302。
[0134]
处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器301还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0135]
存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器301所执行以实现本技术中方法实施例提供的事件分发方法。
[0136]
在一些实施例中,电子设备还可选包括有:外围设备接口303和至少一个外围设备。处理器301、存储器302和外围设备接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口303相连。具体地,外围设备包括:射频电路304、触摸显示屏305、摄像头306、音频电路307、定位组件308和电源309中的至少一种。
[0137]
外围设备接口303可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器301和存储器302。在一些实施例中,处理器301、存储器302和外围设备接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和外围设备接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0138]
射频电路304用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路304包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路304还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术实施例对此不加以限定。
[0139]
显示屏305用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏305是触摸显示屏时,显示屏305还具有采集在显示屏305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器
301进行处理。此时,显示屏305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏305可以为一个,设置电子设备的前面板;在另一些实施例中,显示屏305可以为至少两个,分别设置在电子设备的不同表面或呈折叠设计;在再一些实施例中,显示屏305可以是柔性显示屏,设置在电子设备的弯曲表面上或折叠面上。甚至,显示屏305还可以设置成非矩形的不规则图形,也即异形屏。显示屏305可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0140]
摄像头组件306用于采集图像或视频。可选地,摄像头组件306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0141]
音频电路307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器301进行处理,或者输入至射频电路304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器301或射频电路304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路307还可以包括耳机插孔。
[0142]
定位组件308用于定位电子设备的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件308可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
[0143]
电源309用于为电子设备中的各个组件进行供电。电源309可以是交流电、直流电、一次性电池或可充电电池。当电源309包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0144]
本领域技术人员可以理解,图3中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0145]
图4是本技术实施例提供的一种服务器的结构示意图。服务器400包括中央处理单元(cpu)401、包括随机存取存储器(ram)402和只读存储器(rom)403的系统存储器404,以及连接系统存储器404和中央处理单元401的系统总线405。服务器400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)406,和用于存储操作系统413、应用程序414和其他程序模块415的大容量存储设备407。
[0146]
基本输入/输出系统406包括有用于显示信息的显示器408和用于用户输入信息的
诸如鼠标、键盘之类的输入设备409。其中显示器408和输入设备409都通过连接到系统总线405的输入输出控制器410连接到中央处理单元401。基本输入/输出系统406还可以包括输入输出控制器410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器410还提供输出到显示屏、打印机或其他类型的输出设备。
[0147]
大容量存储设备407通过连接到系统总线405的大容量存储控制器(未示出)连接到中央处理单元401。大容量存储设备407及其相关联的计算机可读介质为服务器400提供非易失性存储。也就是说,大容量存储设备407可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。
[0148]
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器404和大容量存储设备407可以统称为存储器。
[0149]
根据本技术的各种实施例,服务器400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器400可以通过连接在系统总线405上的网络接口单元411连接到网络412,或者说,也可以使用网络接口单元411来连接到其他类型的网络或远程计算机系统(未示出)。
[0150]
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。
[0151]
在一些实施例中,还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中事件分发方法的步骤。例如,所述计算机可读存储介质可以是rom、ram、cd-rom、磁带、软盘和光数据存储设备等。
[0152]
值得注意的是,本技术实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
[0153]
应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。所述计算机指令可以存储在上述计算机可读存储介质中。
[0154]
也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的事件分发方法的步骤。
[0155]
应当理解的是,本文提及的“至少一个”是指一个或多个,“多个”是指两个或两个以上。在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
[0156]
需要说明的是,本技术实施例所涉及的信息(包括但不限于用户设备信息、用户个
人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0157]
以上所述为本技术提供的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1