CN114490134A - 事件处理方法、系统、装置、计算机设备和存储介质 - Google Patents
事件处理方法、系统、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114490134A CN114490134A CN202210130278.5A CN202210130278A CN114490134A CN 114490134 A CN114490134 A CN 114490134A CN 202210130278 A CN202210130278 A CN 202210130278A CN 114490134 A CN114490134 A CN 114490134A
- Authority
- CN
- China
- Prior art keywords
- event
- processing
- processed
- operator
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了事件处理方法、系统、装置、计算机设备和存储介质;本申请实施例可以确定当前设备对应的目标运营商;创建目标运营商对应的业务进程,所述业务进程用于获取预设处理条件以及根据所述预设处理条件处理事件;响应于针对待处理事件的处理请求,通过所述业务进程获取所述目标运营商对应的预设处理条件;当所述待处理事件满足所述预设处理条件时,通过所述业务进程处理所述待处理事件。在本申请实施例中可以针对每个运营商制定对应的业务流程,以支持多个运营商逻辑,提升设备运行的灵活性。
Description
技术领域
本申请涉及计算机领域,具体涉及事件处理方法、系统、装置、计算机设备和存储介质。
背景技术
很多运营商设备都要求支持OMADM协议,使用OMADM协议对设备进行配置或固件升级,但是每个运营商都会对系统配置或固件升级过程中的细节进行定制,呈现出不同的用户体验。
然而,如何使设备支持多个运营商逻辑,是当前面对的重大问题。
发明内容
本申请实施例提供事件处理方法、系统、装置、计算机设备和存储介质,可以针对每个运营商制定对应的业务流程,以支持多个运营商逻辑,提升设备运行的灵活性。
本申请实施例提供一种事件处理方法,包括:确定当前设备对应的目标运营商;创建目标运营商对应的业务进程,所述业务进程用于确定预设处理条件以及根据所述预设处理条件处理事件;响应于针对待处理事件的处理请求,通过所述业务进程获取所述目标运营商对应的预设处理条件;当所述待处理事件满足所述预设处理条件时,通过所述业务进程处理所述待处理事件。
本申请实施例提供一种事件处理系统,包括:包括业务进程创建模块以及多个运营商模块,所述多个运营商模块对应不同的运营商,所述运营商模块包括预设处理条件获取模块以及事件处理模块,其中,所述进程创建模块,用于确定当前设备对应的目标运营商;以及创建目标运营商对应的业务进程,所述业务进程用于确定预设处理条件以及根据所述预设处理条件处理事件;所述预设处理条件获取模块,用于响应于针对待处理事件的处理请求,通过所述业务进程获取所述目标运营商对应的预设处理条件;所述事件处理模块,用于当所述待处理事件满足所述预设处理条件时,通过所述业务进程处理所述待处理事件。
本申请实施例还提供一种事件处理装置,包括:第一确定单元,用于确定当前设备对应的目标运营商;创建单元,用于创建目标运营商对应的业务进程,所述业务进程用于确定预设处理条件以及根据所述预设处理条件处理事件;第二确定单元,用于响应于针对待处理事件的处理请求,通过所述业务进程获取所述目标运营商对应的预设处理条件;处理单元,当所述待处理事件满足所述预设处理条件时,通过所述业务进程处理所述待处理事件。
本申请实施例还提供一种计算机设备,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本申请实施例所提供的任一种事件处理方法中的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种事件处理方法中的步骤。
本申请实施例可以确定当前设备对应的目标运营商;创建目标运营商对应的业务进程,所述业务进程用于获取预设处理条件以及根据所述预设处理条件处理事件;响应于针对待处理事件的处理请求,通过所述业务进程获取所述目标运营商对应的预设处理条件;当所述待处理事件满足所述预设处理条件时,通过所述业务进程处理所述待处理事件。
采用本申请实施例提供的方案通过确定当前设备对应的目标运营商,使得当前设备不仅具有支持多个运营商的通用性,还能够通过创建目标运营商对应的业务进程,使得当前设备具有针对目标运营商的专有性,满足多个运营商的应用场景。此外,本申请实施例对目标运营商创建针对性的业务进程以及预设处理条件,以此可以对每个运营商制定不同的业务流程,有利于多运营商支持和扩展。由此,本申请可以针对每个运营商制定对应的业务流程,以支持多个运营商逻辑,提升设备运行的灵活性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的事件处理系统的场景示意图;
图1b是本申请实施例提供的事件处理方法的流程示意图;
图1c是本申请实施例提供的状态机工厂的结构示意图;
图1d是本申请实施例提供的事件处理系统的另一个流程示意图;
图2a是本申请实施例提供的事件处理系统的结构示意图;
图2b是本申请实施例提供的生成运营商的业务单元的流程示意图;
图2c是本申请实施例提供的确定目标运营商的流程示意图;
图2d是本申请实施例提供的状态机工作的示意图;
图3是本申请实施例提供的事件处理装置的结构示意图;
图4是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供事件处理方法、系统、装置、计算机设备和存储介质。
其中,该事件处理装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(Personal Computer,PC)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
在一些实施例中,该事件处理装置还可以集成在多个电子设备中,比如,事件处理装置可以集成在多个服务器中,由多个服务器来实现本申请的事件处理方法。
在一些实施例中,服务器也可以以终端的形式来实现。
例如,参考图1a,在一些实施方式中,提供了一种事件处理系统的场景示意图,该系统可以实现事件处理方法。该事件处理系统可以包括终端1000、服务器2000以及网络3000,服务器2000与终端1000可通过网络3000进行数据交互。
其中,终端用于确定当前设备对应的目标运营商;创建目标运营商对应的业务进程,业务进程用于确定预设处理条件以及根据预设处理条件处理事件;响应于针对待处理事件的处理请求,通过业务进程获取目标运营商对应的预设处理条件;当待处理事件满足预设处理条件时,通过业务进程处理待处理事件。其中,服务器用于与终端进行数据交互。其中,网络用于服务器与终端之间的数据传输,网络可以是无线网络或者有线网络,比如无线网络为无线局域网(WLAN)、局域网(LAN)、蜂窝网络、2G网络、3G网络、4G网络、5G网络等。
以下分别进行详细说明。
在本实施例中,提供了一种事件处理方法,如图1b所示,该事件处理方法的具体流程可以如下:
110、确定当前设备对应的目标运营商。
其中,当前设备是指运行本申请实施例的事件处理方法的载体,当前设备可以搭载不同运营商提供的软件或系统。例如,当前设备可以为手机、平板电脑等终端。
其中,目标运营商是指根据当前设备确定的运营商。在实际应用时,可以通过当前设备信息确定对应的目标运营商,也可以有运营商预设该设备对应的目标运营商。例如,对于手机而言,可以搭载不同运营商定制的系统,如当手机使用A运营商的服务时,可以搭载A运营商定制的系统,A运营商即为手机对应的目标运营商。
在一些实施方式中,确定当前设备对应的目标运营商,包括:
获取当前设备的设备信息;
根据设备信息,从多个运营商中确定目标运营商。
其中,设备信息是指当前设备中可以用来确定目标运营商的信息,可以包括设备标识信息(如识别码)、设备参数以及其他可以用来确定目标运营商的设备信息,具体可以根据应用场景设置。例如,对于手机而言,设备信息可以为SIM卡信息(用户识别卡,该信息可以包括手机号)、MEID号(移动设备识别码)、IMEI(国际移动设备识别码)号,等等,可以通过获取的设备信息来确定手机要使用哪个运营商的服务。在实际应用时,当前设备可以在本地根据设备信息从多个运营商中确定目标运营商,如,当前设备根据SIM卡信息确定为其提供服务的运营商为目标运营商;也可以通过当前设备与服务端的信息交互以确定目标运营商,如,在服务端中可以记录有每个设备信息与运营商的对应关系的表单,当前设备在获取设备信息后,将设备信息发送至服务端,服务端通过该表单确定该设备信息对应的运营商为目标运营商。
由于当前设备可以支持多个运营商,通过设备信息确定当前设备对应的目标运营商,为本申请实施例的事件处理方法提供与当前设备匹配的运行环境,避免运行错误,在实际应用时可以通过修改当前设备的设备信息,使当前设备对应不同的目标设备。此外,通过设置当前设备可以支持多个运营商,使当前设备具有通用性,再设置当前设备可以依据设备信息确定目标运营商,又使当前设备具有专用性,满足多个运营商的应用场景。
在一些实施方式中,在响应于针对待处理事件的处理请求,通过业务进程获取目标运营商对应的预设处理条件之前,还包括:
针对每个运营商,确定运营商对应的预设处理条件。
其中,预设处理条件是指用来判断当前设备是否处理待处理事件的条件,可以根据经验或应用场景预先设置。例如,如图1c所示,预设处理条件可以以状态机的状态进行表示,如状态机可以包括状态1~4,其中,状态1关注事件C、事件D和事件E,状态2关注事件A、事件C和事件E,状态3关注事件A、事件B、事件D和事件E,状态4关注事件B、事件C和事件E,也即,当状态机的状态满足状态1时,可以处理事件C、事件D和事件E,以此类推执行状态2~4的事件。
由于当前设备可以支持多个运营商,因此可以针对不同的运营商确定不同的预设处理条件,例如,如图1c所示,可以设置运营商A的状态机包括如上文的状态1~4,运营商B的状态机可以包括状态1~4,其中,状态1关注事件A、事件B、事件C、事件D和事件E,状态2关注事件C、事件D和事件E,状态3关注事件A、事件C、事件D和事件E,状态4关注事件C和事件E。以此,对于运营商A和运营商B而言,即使状态机处于相同的状态,当前终端可以处理的事件也可以不同,以此实现对不同运营商的差异化设置,使每个运营商实现自己的状态机,并对自己关注的事件做出实时响应,以提高对不同事件反应的效率。
待处理事件是指针对当前设备应用场景设置的事件,例如,如图1d所示,在本申请实施例的事件处理方法应用于当前设备的固件更新或系统配置过程时,需要考虑用户交互、网络变化、电池电量、内存等事件,以此待处理事件可以包括但不限于内存变化事件、网络变化事件、用户交互结果事件、电量变化事件、Session(会话控制)开始事件、Session结束事件、Timer(计时器)到期事件等中的至少一种。
120、创建目标运营商对应的业务进程,业务进程用于获取预设处理条件以及根据预设处理条件处理事件。
其中,业务进程是指针对目标运营商的软件或系统运行进程。例如,可以根据当前设备的设备信息识别出对应的目标运营商,并识别出目标运营商的业务单元,创建对应的业务进程,以使的在当前设备的使用过程中呈现出目标运营商定制的UI界面、预设处理条件以及事件处理方法,等等。在实际应用时,当前设备可以从服务端获取创建业务进程所需的信息。
通过对目标运营商创建针对性的业务进程,以此可以对每个运营商制定不同的业务单元,有利于多运营商支持和扩展。
130、响应于针对待处理事件的处理请求,通过业务进程获取目标运营商对应的预设处理条件。
其中,针对待处理事件的处理请求可以由预设任务的触发生成,也可以由事件触发,等等,具体可以根据事件的类型以及应用场景设置。在实际应用中,当前设备可以从服务端获取创建业务进程所需的信息时,可以同时获取目标运营商对应的预处理条件。也可以将所有运营商对应的预处理条件存入当前设备,以通过业务进程从多个运营商对应的预处理条件中找到目标运营商对应的预处理条件。
在一些实施方式中,在响应于针对待处理事件的处理请求,通过业务进程获取目标运营商对应的预设处理条件之前,还包括:
通过业务进程,创建任务队列;
响应于针对预设任务的触发指令,通过业务进程将预设任务加入任务队列;
根据预设任务的触发指令,通过业务进程生成待处理事件的处理请求。
其中,任务队列是指用于存储等待执行任务的队列。如图1d所示,针对预设任务的触发指令可以为用户、当前设备或服务端等发起的指令,例如,该指令可以为用户操作生成,如当用户点击对当前设备进行固件更新的按键,触发对固件更新,以此创建更新任务。在接收到预设任务的触发指令后,当前设备可以根据触发指令创建该预设任务,并将该预设任务加入任务队列等待执行。在创建预设任务的同时,还会根据触发指令生成对待处理事件的处理请求,待处理事件可以为与预设任务对应的事件。例如,当对当前设备进行固件更新时,要考虑内存变化事件、网络变化事件、用户交互结果事件、电量变化事件等,以此这些事件均可以为待处理事件,因此可以生成针对这些事件的处理请求。
在实际应用中,由于当前设备不仅限于执行待处理事件对应的任务,或可能存在多个预设任务,每个预设任务对应多个待处理事件,此时通过建立任务队列存储所有要处理的预设任务,以便于后续一一调用执行,避免运行错误。
在响应于针对待处理事件的处理请求,获取目标运营商对应的预设处理条件之前,还可以通过业务进程创建用于存储待处理事件的事件队列,在通过业务进程生成待处理事件的处理请求后,可以将待处理事件加入事件队列,以等待处理。以此,利用事件队列可以存储对应不同预设任务的待处理任务,在执行时可以按照事件队列中待处理事件的顺序调用任务队列中对应的任务,以通过执行该任务来处理待处理事件。
在一些实施方式中,响应于针对待处理事件的处理请求,通过业务进程获取目标运营商对应的预设处理条件,包括:
响应于针对待处理事件的处理请求,通过业务进程获取任务队列,任务队列用于存储任务;
通过业务进程,将任务队列中与待处理事件对应的任务确定为目标任务;
通过业务进程执行目标任务,以便获取目标运营商对应的预设处理条件。
在处理待处理事件时,可以将任务队列中与当前处理的待处理事件对应的任务确定为目标任务,并通过目标任务获取目标运营商对应的预设处理条件,在目标任务获取目标运营商对应的预设处理条件,业务进程会将待处理事件与预设处理条件进行匹配,以判断待处理事件是否满足预设处理条件。通过调用与待处理事件对应的目标任务来获取预设处理条件,使得待处理事件与目标任务再次关联,避免处理与目标任务无关的待处理事件,避免运行错误。例如,在使用状态机判断待处理事件是否满足预设处理条件时,目标任务可以根据目标运营商确定其对应的状态机,还可以将待处理事件发送给状态机进行判断。如图1d所示,可以若事件1为待处理事件,则可以将于待处理事件1对应的任务2确定为目标任务,并执行目标任务,并获取目标运营商对应的状态机,以使用该状态机判断是否处理事件1。
需说明的是,在任务队列中的一个任务对应多个待处理事件时,为了节省资源,对应相同任务的待处理事件可以重复调用任务队列中的该任务以处理待处理事件。也可以与同一任务对应的多个待处理事件发送给该任务,以便该任务处理待处理事件。
140、当待处理事件满足预设处理条件时,通过业务进程处理待处理事件。
在获取到待处理事件的处理请求后,可以在业务进程中,根据预设处理条件判断是否处理待处理事件。例如,当前设备可以记录有目标运营商对应的多个预设处理条件,若预设处理条件以状态机的状态进行表示,当状态机的当前状态关注预处理事件时,则认为待处理事件满足预设处理条件,即可通过业务进程处理待处理事件。如对于上述运营商A,当待处理事件为A时,则当状态机的状态为状态1或状态3时则认为待处理事件满足预设处理条件,即当状态机处于状态1或状态3时可以处理待处理事件A,为其他状态时不处理待处理事件。
在一些实施方式中,通过业务进程处理待处理事件,包括:
通过业务进程,创建与待处理事件对应的会话信息;
将会话信息发送至服务端;
获取服务端发来的与会话信息对应的数据信息。
其中,会话信息是指用于当前设备与服务端进行会话的信息,可以包括但不限于请求信息、标识信息,等等。例如,在对当前设备进行固件更新时,可以创建与包含固件下载请求、验证信息等的会话信息,并发送给服务端,服务端在接收到会话信息并通过验证信息后,根据固件下载请求,将对应的固件下载信息发送至当前设备,以便其根据该信息进行固件更新。
通过创建用于与服务端交互的会话信息,实现当前设备与服务端的交互,以从服务端获取与待处理事件对应的数据信息,同时以会话信息的形式进行交互,可以在当次会话后即时清楚该会话,提高存储空间的利用率,以及当前设备的运行效率。需说明的事,上述过程中步骤“将会话信息发送至服务端”以及“获取服务端发来的与会话信息对应的数据信息”可以由业务进程执行,也可以由其他进程执行。
本申请实施例提供的事件处理方案可以应用在各种终端场景中。比如,以手机为例,确定当前设备对应的目标运营商;创建目标运营商对应的业务进程,业务进程用于获取预设处理条件以及根据预设处理条件处理事件;响应于针对待处理事件的处理请求,通过业务进程获取目标运营商对应的预设处理条件;当待处理事件满足预设处理条件时,通过业务进程处理待处理事件。
采用本申请实施例提供的方案通过确定当前设备对应的目标运营商,使得当前设备不仅具有支持多个运营商的通用性,还能够通过创建目标运营商对应的业务进程,使得当前设备具有针对目标运营商的专有性,满足多个运营商的应用场景。此外,本申请实施例对目标运营商创建针对性的业务进程以及预设处理条件,以此可以对每个运营商制定不同的业务流程,有利于多运营商支持和扩展。
由上可知,本申请实施例可以针对每个运营商制定对应的业务流程,以支持多个运营商逻辑,提升设备运行的灵活性。
为了更好地实施以上方法,本申请实施例还提供一种事件处理系统,该事件处理系统具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
比如,在本实施例中,将以事件处理系统具体集成在终端为例,对本申请实施例的方法进行详细说明。
例如,如图2a所示,该事件处理系统可以包括业务进程创建模块210、事件处理模块230以及多个运营商模块220,多个运营商模块对应不同的运营商,其中:
进程创建模块210,用于确定当前设备对应的目标运营商;以及创建目标运营商对应的业务进程,业务进程用于获取预设处理条件以及根据预设处理条件处理事件;
运营商模块220,用于响应于针对待处理事件的处理请求,通过业务进程获取目标运营商对应的预设处理条件;
事件处理模块230,用于当待处理事件满足预设处理条件时,通过业务进程处理待处理事件。
运营商模块可以为根据运营商需求或应用场景针对每个运营商一一定制的模块。在实际应用时,本申请实施例中可以使用工厂的概念,把每个模块作为一个业务单元,为了方便运行时创建,为每一个项目定义了配置文件以及运营商的业务单元工厂。通过配置文件和业务单元工厂,在运行时就能创建每个运营商对应的业务单元(运营商模块),这种方式有利于多运营商支持和扩展,如图2b所示,通过基于运营商A、运营商B以及运营商C的配置文件,通过建立抽象工厂,能够在业务单元工厂中分别形成运营商A的业务单元、运营商B的业务单元以及运营商C的业务单元。在获取到当前设备对应的目标运营商后,可以基于该运营商的业务单元创建并运行业务进程。对于每个运营商的业务单元而言,包括可以根据需求或应用场景定制的事件管理模块、定时器模块、任务调度模块以及状态机模块,本申请实施例中的进程创建模块、任务模块以及引擎模块可以不属于运营商模块。
当已支持运营商有新需求时,只需要找到对应的运营商的业务单元,并做出修改,对于其他运营商的逻辑毫无影响。即当进程创建模块确定目标运营商对应的模块后,可以通过该运营商模块执行后续的事件处理过程。
OMA(Open Mobile Alliance,开放移动联盟)是WAP论坛(WAP Forum)和开放式移动体系结构(Open Mobile Alliance)两个标准化组织通过合并成立的组织。DM全称DeviceManagement,即终端管理,它是基于OMA SyncML(Synchronization Markup Language,是一种平台无关的信息同步标准协议)协议衍生出的专门用于终端管理的协议,OMADM定义了一套服务器和终端之间进行信息交互的标准,通过此协议实现固件更新和系统配置。本申请提供的方法可以基于OMADM协议应用于Android系统和KaiOS系统,以使用OMADM协议对设备进行配置或固件升级。系统配置即配置系统中的参数,固件更新包括固件下载和固件安装。
例如,当本申请实施例的事件处理系统在实际应用于OMADM程序时,其工作流程可以为:当前设备开机;OMADM程序收到开机启动信号,启动运行;自动识别设备信息以及SIM卡信息,确定目标运营商;初始化运营商配置信息,创建运营商业务单元工厂(业务进程);OMADM程序准备就绪,可以通过预设处理条件获取模块以及事件处理模块实时处理关心的事件。在本申请实施例中采用通用框架,在程序运行时,根据设备信息识别出当前运营商,并通过业务单元工厂创建识别出的运营商的业务单元,因此在设备使用过程中呈现出该运营商定制的UI界面、任务调度方式、事件处理、状态机流转。由此,本申请实施例可以实现每个运营商之间相对独立,增加新的运营商不会影响已经支持的运营商的实现逻辑;对已有运营商需求修改,不会影响其他运营商逻辑;每个Session相对独立运行,业务互不干扰;采用事件驱动的事件处理框架,线程高效运行;提取多个运营商的共性,分别实现差异,运营商模块间独立性强,无相互依赖;把下载流程按照业务分为独立的块,互不干扰,灵活恢复等的有益效果。
以下将以将本申请实施例的事件处理系统应用于OMADM程序时,进行详细说明。
OMADM程序为系统应用,在设备出厂前编入系统中,出厂后用户启动设备即可自动运行。OMADM程序能够同时支持多个运营商,应用程序不需要做任何修改,预置到Android系统或KaiOS系统后,能够根据设备信息识别出当前运营商。
具体地,进程创建模块还可以包括UI(图形用户界面)模块,UI模块用于显示当前设备的系统界面,例如与用户交互,提示用户一些安装信息、错误信息、下载进度、获取用户选择结果等。UI模块是OMADM程序的对外接口,可进行运营商定制,不同运营商显示不同的提示语。
在一些实施方式中,确定当前设备对应的目标运营商,包括:
获取当前设备的设备信息;
根据设备信息,从多个运营商中确定目标运营商。
如图2c所示,在获取设备信息后,可以获取运营商A、运营商B、运营商C以及运营商D的信息,基于该设备信息从这几个运营商中确定目标运营商,如将与该设备信息对应的运营商A确定为目标运营商。
具体地,运营商模块可以包括任务调度模块以及事件管理模块。
在一些实施方式中,在响应于针对待处理事件的处理请求,获取目标运营商对应的预设处理条件之前,还包括:
通过业务进程,创建任务队列;
响应于针对预设任务的触发指令,通过业务进程将预设任务加入任务队列;
根据预设任务的触发指令,通过业务进程生成待处理事件的处理请求。
上述过程可由任务调度模块进行,任务调度模块可以进行任务发起控制,处理来自用户、设备、服务器发起的任务创建,判断任务是否可执行。例如,接收来自适配层的任务请求,创建任务并交给事件管理模块。任务调度模块可进行运营商定制,制定不同的调度策略。
在一些实施方式中,响应于针对待处理事件的处理请求,获取目标运营商对应的预设处理条件,包括:
响应于针对待处理事件的处理请求,通过业务进程获取任务队列,任务队列用于存储任务;
通过业务进程,将任务队列中与待处理事件对应的任务确定为目标任务;
通过业务进程执行目标任务,以便获取目标运营商对应的预设处理条件。
上述过程可由事件管理模块进行,事件管理模块负责接收事件,并派发给相应的任务,可以把事件传递给任务模块。例如,事件管理模块可以采用事件驱动框架,实时处理事件源发生的事件,当状态机处于某一个状态时,收到某一个事件,可以根据当前状态或者对事件做出响应,或者不关心此事件。
此外,事件处理系统还可以包括任务模块,任务模块可以把收到的事件交给状态机处理,它会保存状态机运行过程中的一些信息,任务模块还会根据当前状态机处理事件的结果,切换状态机到新的状态。此外,如图1d所示,当引擎模块中的工作者线程处理完事件后,还会将Session中的事件发送至事件队列中,以等待下次执行。
具体地,运营商模块可以包括状态机模块,其中状态机模块可进行运营商定制,实现自己的规则。需说明的是,本申请实施例中的事件管理模块、状态机模块可以通过调度线程处理数据,引擎模块可以通过工作者线程处理数据,以实现事件管理以及状态判断过程和与服务端的交互过程的并行处理,提高事件处理效率。
在一些实施方式中,在响应于针对待处理事件的处理请求,通过业务进程获取目标运营商对应的预设处理条件之前,还包括:
针对每个运营商,确定运营商对应的预设处理条件。
上述过程可以由状态机模块进行,状态机模块还可以用于判断待处理事件是否满足预设处理条件。状态机模块可以用于根据业务流程,定义一组状态,并在这些状态之间切换,状态机模块可以处理事件,并根据不同事件和场景与不同模块交互,可进行运营商定制,不同状态可以只处理自己关注的事件。
OMADM程序运行时需要关注的事件源广泛,例如用户交互结果、系统事件等,这就需要程序对不同事件做出实时反应,不同运营商要关注的事件可能不同,因此,运营商差异化实现尤为重要。如图1c所示,在状态机工厂中,每个运营商实现自己的状态机,并对自己关注的事件做出实时响应。在具体应用时,可以从状态机工厂中获取目标运营商对应的状态机模块,以进行状态判断。
运营商模块还可以包括定时器模块,定时器模块可以用于设置或取消定时器,例如接收状态机中的定时器请求,可进行运营商定制。
在一些实施方式中,通过业务进程处理待处理事件,包括:
通过业务进程,创建与待处理事件对应的会话信息;
将会话信息发送至服务端;
获取服务端发来的与会话信息对应的数据信息。
事件处理模块可以为引擎模块,上述过程中的步骤可以由引擎模块进行,引擎模块可以用于实现了与服务器之间交互的SyncML协议和固件下载协议,引擎模块可以接受状态机调度,例如引擎模块可以用于运行DM Session、下载DD、运行DMTree Session、或下载固件。可以针对Engine(引擎)模块进行运营商无差异化,即所有运营商使用同一个引擎模块,引擎模块只处理基础的OMADM协议以及下载协议,并实行无状态化,所有状态由状态机模块维护。在实际应用时,可根据运营商需求进行调度,支持多个Session(会话控制)并行,且相互不干扰。例如,如图2d所示,当前正在进行下载任务,此任务是状态机1,且当前在状态3,此时收到一个服务器发起的DM Session,可再创建状态机2,当前状态机1和状态机2独立运行,逻辑互不干扰。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的事件处理系统可以同时支持多个运营商,抽取运营商差异后,使用工厂模式,隔离不同运营商之间的操作,代码架构清晰,使后期代码维护方便,逻辑清晰。当需要支持新的运营商时,仅需添加新的实现,不用修改已逻辑,遵守开放封闭原则。支持多Session并行,根据运营商需求,灵活调整Session运行方式。模块间遵守接口隔离原则,提高了系统的内聚性,减少了对外交互,降低了系统的耦合性,提高系统的灵活性和可维护性。
为了更好地实施以上方法,本申请实施例还提供一种事件处理装置,该事件处理装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
比如,在本实施例中,将以事件处理装置具体集成在终端为例,对本申请实施例的方法进行详细说明。
例如,如图3所示,该事件处理装置可以包括第一确定单元310、创建单元320、第二确定单元330以及处理单元340,如下:
(一)第一确定单元310
用于确定当前设备对应的目标运营商。
在一些实施方式中,第一确定单元310具体可以用于:
获取当前设备的设备信息;
根据设备信息,从多个运营商中确定目标运营商。
(二)创建单元320
用于创建目标运营商对应的业务进程,业务进程用于获取预设处理条件以及根据预设处理条件处理事件。
在一些实施方式中,创建单元320还可以用于:
针对每个运营商,确定运营商对应的预设处理条件。
(三)第二确定单元330
用于响应于针对待处理事件的处理请求,通过业务进程获取目标运营商对应的预设处理条件。
在一些实施方式中,第二确定单元330具体可以用于:
响应于针对待处理事件的处理请求,通过业务进程获取任务队列,任务队列用于存储任务;
通过业务进程,将任务队列中与待处理事件对应的任务确定为目标任务;
通过业务进程执行目标任务,以便获取目标运营商对应的预设处理条件。
在一些实施方式中,第二确定单元330还可以用于:
通过业务进程,创建任务队列;
响应于针对预设任务的触发指令,通过业务进程将预设任务加入任务队列;
根据预设任务的触发指令,通过业务进程生成待处理事件的处理请求。
(四)处理单元340
当待处理事件满足预设处理条件时,通过业务进程处理待处理事件。
在一些实施方式中,处理单元340具体可以用于:
当待处理事件满足预设处理条件时,通过业务进程,创建与待处理事件对应的会话信息;
将会话信息发送至服务端;
获取服务端发来的与会话信息对应的数据信息。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例可以针对每个运营商制定对应的业务流程,以支持多个运营商逻辑,提升设备运行的灵活性。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机、个人数字助理(Personal Digital Assistant,PDA)等终端设备。
如图4所示,图4为本申请实施例提供的计算机设备的结构示意图,该计算机设备400包括有一个或者一个以上处理核心的处理器410、有一个或一个以上计算机可读存储介质的存储器420及存储在存储器420上并可在处理器上运行的计算机程序。其中,处理器410与存储器420电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器410是计算机设备400的控制中心,利用各种接口和线路连接整个计算机设备400的各个部分,通过运行或加载存储在存储器420内的软件程序和/或模块,以及调用存储在存储器420内的数据,执行计算机设备400的各种功能和处理数据,从而对计算机设备400进行整体监控。
在本申请实施例中,计算机设备400中的处理器410会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器420中,并由处理器410来运行存储在存储器420中的应用程序,从而实现各种功能:
确定当前设备对应的目标运营商;创建目标运营商对应的业务进程,业务进程用于确定预设处理条件以及根据预设处理条件处理事件;响应于针对待处理事件的处理请求,通过业务进程获取目标运营商对应的预设处理条件;当待处理事件满足预设处理条件时,通过业务进程处理待处理事件。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图4所示,计算机设备400还包括:触控显示屏430、射频电路440、音频电路450、输入单元460以及电源470。其中,处理器410分别与触控显示屏430、射频电路440、音频电路450、输入单元460以及电源470电性连接。本领域技术人员可以理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏430可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏430可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器410,并能接收处理器410发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器410以确定触摸事件的类型,随后处理器410根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏430而实现输入和输出功能。但是在某些实施例中,触控面板与显示面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏430也可以作为输入单元460的一部分实现输入功能。
射频电路440可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路450可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路450可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路450接收后转换为音频数据,再将音频数据输出处理器410处理后,经射频电路440以发送给比如另一计算机设备,或者将音频数据输出至存储器420以便进一步处理。音频电路450还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元460可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源470用于给计算机设备400的各个部件供电。可选的,电源470可以通过电源管理系统与处理器410逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源470还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图4中未示出,计算机设备400还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备可以针对每个运营商制定对应的业务流程,以支持多个运营商逻辑,提升设备运行的灵活性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种事件处理方法中的步骤。例如,该计算机程序可以执行如下步骤:
确定当前设备对应的目标运营商;创建目标运营商对应的业务进程,业务进程用于确定预设处理条件以及根据预设处理条件处理事件;响应于针对待处理事件的处理请求,通过业务进程获取目标运营商对应的预设处理条件;当待处理事件满足预设处理条件时,通过业务进程处理待处理事件。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种事件处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种事件处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种事件处理方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种事件处理方法,其特征在于,包括:
确定当前设备对应的目标运营商;
创建所述目标运营商对应的业务进程,所述业务进程用于获取预设处理条件以及根据所述预设处理条件处理事件;
响应于针对待处理事件的处理请求,通过所述业务进程获取所述目标运营商对应的预设处理条件;
当所述待处理事件满足所述预设处理条件时,通过所述业务进程处理所述待处理事件。
2.如权利要求1所述的事件处理方法,其特征在于,所述响应于针对待处理事件的处理请求,通过所述业务进程获取所述目标运营商对应的预设处理条件,包括:
响应于针对待处理事件的处理请求,通过所述业务进程获取任务队列,所述任务队列用于存储任务;
通过所述业务进程,将所述任务队列中与所述待处理事件对应的任务确定为目标任务;
通过所述业务进程执行所述目标任务,以便获取所述目标运营商对应的预设处理条件。
3.如权利要求2所述的事件处理方法,其特征在于,在所述响应于针对待处理事件的处理请求,通过所述业务进程获取所述目标运营商对应的预设处理条件之前,还包括:
通过所述业务进程,创建任务队列;
响应于针对预设任务的触发指令,通过所述业务进程将所述预设任务加入所述任务队列;
根据所述预设任务的触发指令,通过所述业务进程生成待处理事件的处理请求。
4.如权利要求1所述的事件处理方法,其特征在于,所述通过所述业务进程处理所述待处理事件,包括:
通过所述业务进程,创建与所述待处理事件对应的会话信息;
将所述会话信息发送至服务端;
获取所述服务端发来的与所述会话信息对应的数据信息。
5.如权利要求1所述的事件处理方法,其特征在于,所述确定当前设备对应的目标运营商,包括:
获取所述当前设备的设备信息;
根据所述设备信息,从多个运营商中确定目标运营商。
6.如权利要求5所述的事件处理方法,其特征在于,在所述响应于针对待处理事件的处理请求,通过所述业务进程获取所述目标运营商对应的预设处理条件之前,还包括:
针对每个所述运营商,确定所述运营商对应的预设处理条件。
7.一种事件处理系统,其特征在于,包括业务进程创建模块、事件处理模块以及多个运营商模块,所述多个运营商模块对应不同的运营商,其中,
所述进程创建模块,用于确定当前设备对应的目标运营商;以及创建目标运营商对应的业务进程,所述业务进程用于获取预设处理条件以及根据所述预设处理条件处理事件;
所述运营商模块,用于响应于针对待处理事件的处理请求,通过所述业务进程获取所述目标运营商对应的预设处理条件;
所述事件处理模块,用于当所述待处理事件满足所述预设处理条件时,通过所述业务进程处理所述待处理事件。
8.一种事件处理装置,其特征在于,包括:
第一确定单元,用于确定当前设备对应的目标运营商;
创建单元,用于创建目标运营商对应的业务进程,所述业务进程用于获取预设处理条件以及根据所述预设处理条件处理事件;
第二确定单元,用于响应于针对待处理事件的处理请求,通过所述业务进程获取所述目标运营商对应的预设处理条件;
处理单元,当所述待处理事件满足所述预设处理条件时,通过所述业务进程处理所述待处理事件。
9.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1~7任一项所述的事件处理方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1~7任一项所述的事件处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210130278.5A CN114490134A (zh) | 2022-02-11 | 2022-02-11 | 事件处理方法、系统、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210130278.5A CN114490134A (zh) | 2022-02-11 | 2022-02-11 | 事件处理方法、系统、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114490134A true CN114490134A (zh) | 2022-05-13 |
Family
ID=81480529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210130278.5A Pending CN114490134A (zh) | 2022-02-11 | 2022-02-11 | 事件处理方法、系统、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490134A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116186107A (zh) * | 2022-12-19 | 2023-05-30 | 中兴通讯股份有限公司 | 业务数据处理方法、装置、设备及存储介质 |
CN116186107B (zh) * | 2022-12-19 | 2024-06-11 | 中兴通讯股份有限公司 | 业务数据处理方法、装置、设备及存储介质 |
-
2022
- 2022-02-11 CN CN202210130278.5A patent/CN114490134A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116186107A (zh) * | 2022-12-19 | 2023-05-30 | 中兴通讯股份有限公司 | 业务数据处理方法、装置、设备及存储介质 |
CN116186107B (zh) * | 2022-12-19 | 2024-06-11 | 中兴通讯股份有限公司 | 业务数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108388431B (zh) | 应用程序热更新的控制方法、装置、存储介质及移动终端 | |
CN107734616B (zh) | 应用程序关闭方法、装置、存储介质和电子设备 | |
KR100700951B1 (ko) | 이동통신 시스템에서 다중 작업 관리를 위한 장치 및 방법 | |
CN108039963B (zh) | 一种容器配置方法、装置及存储介质 | |
CN108572908B (zh) | 信息反馈方法及装置 | |
CN106713608B (zh) | 应用的功能状态修改方法、装置及终端 | |
US20220022139A1 (en) | Control method for doze mode of mobile terminal, storage medium and mobile terminal | |
CN111078275A (zh) | 资源配置方法、装置、存储介质及服务器 | |
KR20200031900A (ko) | Pdu 세션 제어 방법 및 장치 | |
CN106789488B (zh) | 智能家居设备管理方法及装置 | |
CN111273955A (zh) | 热修复插件优化方法、装置、存储介质及电子设备 | |
CN114327087A (zh) | 输入事件处理方法、装置、电子设备和存储介质 | |
CN111359210A (zh) | 一种数据处理方法、装置、电子设备以及存储介质 | |
CN114490134A (zh) | 事件处理方法、系统、装置、计算机设备和存储介质 | |
CN114090270B (zh) | 线程管理方法、装置、电子设备及计算机可读存储介质 | |
CN108874381B (zh) | 一种输出页面视图控制器的方法、装置及电子设备 | |
CN106817370B (zh) | 传输网络数据的方法及装置 | |
CN115987786A (zh) | 一种配置变更方法、系统、终端设备及存储介质 | |
CN112558833B (zh) | 应用运行方法、装置及电子设备 | |
CN106406921B (zh) | 一种安装补丁的方法及装置 | |
CN111542037B (zh) | 指令传输方法、装置及存储介质 | |
CN114764325A (zh) | 一种业务逻辑生成方法、装置及终端 | |
CN113590272A (zh) | 虚拟机部署方法、装置、电子设备及存储介质 | |
CN107015874B (zh) | 数据传输控制方法、装置及终端 | |
CN113138786A (zh) | 应用更新方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |