CN112817705A - 信息发布方法、终端设备及信息发布系统 - Google Patents
信息发布方法、终端设备及信息发布系统 Download PDFInfo
- Publication number
- CN112817705A CN112817705A CN202110088474.6A CN202110088474A CN112817705A CN 112817705 A CN112817705 A CN 112817705A CN 202110088474 A CN202110088474 A CN 202110088474A CN 112817705 A CN112817705 A CN 112817705A
- Authority
- CN
- China
- Prior art keywords
- event
- processed
- processing
- queue
- component
- 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/466—Transaction processing
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供了一种信息发布方法、终端设备及信息发布系统,涉及信息系统技术领域,以提高信息发布效率,提升信息发布系统的稳定性,降低系统扩展成本。该信息发布方法,包括:接收来自事件发生器和/或服务器的待处理事件;获取接收到的待处理事件的优先级,以及原始事件队列中的每个事件的优先级;按照优先级从高到低的顺序,将待处理事件加入原始事件队列中,形成更新后的事件队列;根据事件驱动模式的处理逻辑,按照更新后的事件队列中的事件排序,依次对更新后的事件队列中的各事件进行处理。本公开用于信息发布。
Description
技术领域
本公开涉及信息系统技术领域,尤其涉及一种信息发布方法、终端设备及信息发布系统。
背景技术
信息发布系统是一套由服务器、网络、终端设备组成的典型物联网应用系统。将服务器的信息通过网络发送给终端设备处理信息形成音频输入文件,并播放音频输入文件,形成了一套可通过网络将所有服务器信息发送到终端设备的显示的系统。但是,相关技术中的信息发布系统,信息发布效率低下,系统的稳定性差,且扩展成本高。
发明内容
为克服上述现有技术中的缺陷,本公开提供一种信息发布方法、终端设备及信息发布系统,以提高信息发布效率,提升信息发布系统的稳定性,降低系统扩展成本。
为达到上述目的,本公开采用如下技术方案:
一方面,提供了一种信息发布方法,包括:接收来自事件发生器和/或服务器的待处理事件;获取接收到的待处理事件的优先级,以及原始事件队列中的每个事件的优先级;按照优先级从高到低的顺序,将所述待处理事件加入所述原始事件队列中,形成更新后的事件队列;根据事件驱动模式的处理逻辑,按照更新后的事件队列中的事件排序,依次对更新后的事件队列中的各事件进行处理。
在一些实施例中,所述依次对更新后的事件队列中的各事件进行处理,包括:在当前没有事件正在被处理的情况下,依次对更新后的事件队列中的各事件进行处理。
在一些实施例中,所述依次对更新后的事件队列中的各事件进行处理,还包括:在当前有事件正在被处理的情况下,获取第一目标事件的优先级,所述第一目标事件为当前正在被处理的事件;确定第二目标事件,所述第二目标事件为所述更新后的事件队列中优先级最高的事件;判断所述第一目标事件的优先级是否小于所述第二目标事件的优先级;若是,则停止处理所述第一目标事件,并处理所述第二目标事件;若否,则继续处理完所述第一目标事件,再依次处理所述更新后的事件队列中剩余的各事件。
在一些实施例中,所述依次对更新后的事件队列中的各事件进行处理的过程中,对所述事件队列中的至少一个事件进行处理的步骤包括:使用当前需要处理的事件对应的处理函数,对当前需要处理的事件进行处理;获取处理后的数据,根据所述处理后的数据,触发与当前需要处理的事件关联的关联事件;使用所述关联事件对应的处理函数,对所述关联事件进行处理。
又一方面,提供了一种终端设备,包括:事件接收组件,队列更新组件,以及事件处理组件。所述事件接收组件被配置为与事件发生器和/或服务器耦接,实时接收来自所述事件发生器和/或服务器的待处理事件。所述队列更新组件与所述事件接收组件耦接;所述队列更新组件被配置为,存储原始事件队列,根据所述事件接收组件所接收的待处理事件不断更新事件队列;其中,更新后的事件队列中各事件按照优先级从高到低的顺序排列。所述事件处理组件与所述队列更新组件耦接;所述事件处理组件被配置为,根据事件驱动模式的处理逻辑,按照更新后的事件队列中的事件排序,依次对更新后的事件队列中的各事件进行处理。
在一些实施例中,所述事件处理组件被配置为,在当前没有事件正在被处理的情况下,依次对更新后的事件队列中的各事件进行处理。
在一些实施例中,所述事件处理组件还被配置为,在当前有事件正在被处理的情况下,获取第一目标事件的优先级,所述第一目标事件为当前正在被处理的事件;确定第二目标事件,所述第二目标事件为所述更新后的事件队列中优先级最高的事件;判断所述第一目标事件的优先级是否小于所述第二目标事件的优先级;若是,则停止处理所述第一目标事件,并处理所述第二目标事件;若否,则继续处理完所述第一目标事件,再依次处理所述更新后的事件队列中剩余的各事件。
在一些实施例中,还包括:数据发布组件,和事件发布组件。所述事件处理组件还被配置为,在对所述事件队列中的至少一个事件进行处理时,将当前需要处理的事件发送给所述数据发布组件。所述数据发布组件被配置为,存储预设处理的事件的处理函数;接收来自所述事件处理组件的当前需要处理的事件,根据当前需要处理的事件对应的处理函数对当前需要处理的事件进行处理,并将处理后的数据发送给所述事件处理组件。所述事件处理组件还被配置为,根据来自所述数据发布组件的所述处理后的数据,触发与当前需要处理的事件关联的关联事件,并将所述关联事件发送给所述事件发布组件。所述事件发布组件被配置为,接收来自所述事件处理组件的所述关联事件,对所述关联事件进行发布。所述事件接收组件还被配置为,接收所述事件发布组件所发布的所述关联事件,并将所述关联事件发送给所述事件处理组件,以使所述事件处理组件对所述关联事件进行处理。
提供了一种信息发布系统,包括:至少一个上述任一实施例所述的终端设备;以及多个事件发生器。每个所述终端设备与至少一个事件发生器耦接;与所述终端设备耦接的事件发生器被配置为,向所述终端设备发送待处理事件。
在一些实施例中,还包括服务器,所述服务器与至少一个事件发生器耦接,以及与多个所述终端设备耦接;所述服务器被配置为,实时接收来自每个所述事件发生器的待处理事件,获取所有的所述待处理事件对应的所述终端设备的信息,根据所述终端设备的信息,将所述待处理事件分类,并分发至对应的所述终端设备。与所述服务器耦接的事件发生器还被配置为,向所述服务器发送待处理事件。
又一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序指令,在计算机上执行所述计算机程序指令时,所述计算机程序指令使计算机执行如上述任一实施例所述的信息发布方法中的一个或多个步骤。
又一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,所述计算机程序指令在处理器上运行时,使得所述处理器执行如上述任一实施例所述的信息发布方法中的一个或多个步骤。
再一方面,提供一种计算机程序。当所述计算机程序在计算机上执行时,所述计算机程序使计算机执行如上述任一实施例所述的信息发布方法中的一个或多个步骤。
本公开所提供的信息发布方法、终端设备及系统,根据事件驱动模式的处理逻辑对各事件进行处理。其中,根据事件驱动模式的处理逻辑处理事件,简单地说,可以理解为:当待处理事件触发时,终端设备中的CPU的事件驱动机制选择该待处理事件对应的处理函数运行;当没有待处理事件触发时,CPU的事件驱动机制可以进入睡眠状态;这样,终端设备无需对事件发生器进行连续运行的轮询,可以释放CPU的计算资源,提高信息发布效率以及信息发布系统的稳定性。同时,根据接收的待处理事件根据优先级从高到低的顺序不断更新事件队列,按照更新后的事件队列中的事件排序,依次对更新后的事件队列中的各事件进行处理。这样,终端设备可以对优先级高的事件迅速做出反馈,适用性更强。
此外,事件发生器与终端设备之间耦合度较低,在终端设备需要增加根据其他的事件做出相应的反馈时,仅需在对应的事件发生器中添加一个待处理事件以及在终端设备中添加该待处理事件对应的处理函数即可,系统的扩展成本较低。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本公开实施例所提供的信息发布方法的一种流程图;
图2为本公开实施例所提供的信息发布方法的另一种流程图;
图3为本公开实施例所提供的信息发布方法的又一种流程图;
图4为本公开实施例所提供的一种终端设备的示意图;
图5为本公开实施例所提供的另一种终端设备的示意图;
图6为本公开实施例所提供的一种信息发布系统的示意图;
图7为本公开实施例所提供的另一种信息发布系统的示意图;
图8为本公开实施例所提供的再一种信息发布系统的示意图。
具体实施方式
为使本公开的上述目的、特征和优点能够更加明显易懂,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本公开保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在描述一些实施例时,可能使用了“耦接”和“连接”及其衍伸的表达。例如,描述一些实施例时可能使用了术语“连接”以表明两个或两个以上部件彼此间有直接物理接触或电接触。又如,描述一些实施例时可能使用了术语“耦接”以表明两个或两个以上部件有直接物理接触或电接触。然而,术语“耦接”或“通信耦合(communicatively coupled)”也可能指两个或两个以上部件彼此间并无直接接触,但仍彼此协作或相互作用。这里所公开的实施例并不必然限制于本文内容。
“A、B和C中的至少一个”与“A、B或C中的至少一个”具有相同含义,均包括以下A、B和C的组合:仅A,仅B,仅C,A和B的组合,A和C的组合,B和C的组合,及A、B和C的组合。
“A和/或B”,包括以下三种组合:仅A,仅B,及A和B的组合。
本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。
另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。
在本说明书中使用的术语“部件”、“组件”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在两个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
相关技术中的信息发布系统,服务器通过网络向终端设备发送的内容包括视频、图片以及播放编排文件等,播放编排文件用于指定视频、图片等内容的播放规则。此外,终端设备除了按照预先编排的播放规则播放,终端设备还需要根据各种其他的事件做出相应的反馈。例如,终端设备上安装有摄像头,通过实时捕获摄像头前人脸的情况来切换播放的内容。又例如,在发生火警报告时,立即播放火警提示信息。
其中,在终端设备还需要根据各种其他的事件做出相应的反馈的情况下,终端设备要按照一定频率访问各种其他设备对应的其他的事件是否被触发。例如,按照预设频率检测摄像头的人脸检测信息是否满足判断条件;如果是,则将其读出,并继续轮询其他设备对应的其他事件;如果无,则跳过该摄像头继续轮询其他设备对应的其他事件。
但是,这种连续运行的轮询程序十分浪费终端设备内的中央处理器(centralprocessing unit,CPU)的计算资源,导致信息发布效率低下。同时,如果CPU轮询的线程与CPU处理输入信息的线程为同一个线程时,当被轮询的设备失去响应时,会导致整个信息发布系统卡死,信息发布系统的稳定性很差。此外,被轮询的设备与终端设备之间紧密耦合,扩展成本高。
本公开的一些实施例提供了一种信息发布方法,如图1所示,包括:
步骤S100,接收来自事件发生器和/或服务器的待处理事件。
其中,待处理事件包括节目下发事件、广告播放事件、消防报警事件、物品取出事件、人脸识别成功事件和时间为第一预设时间事件中的至少一个,本公开实施例不限于此。对应的,事件发生器可以包括播放器、消防系统、商品载物台上的压力传感器、摄像头和时钟中的至少一个,本公开实施例不限于此。
步骤S200,获取接收到的待处理事件的优先级,以及原始事件队列中的每个事件的优先级。
在一些实施例中,所有事件均预设有与其对应的权重,即每个事件的重要程度均被预先设定,并存储于终端设备的数据库中。其中,权重用于表示每个事件的优先级。
示例性的,每个事件的权重可以由阿拉伯数字表示,权重数值大的事件对应优先级高的事件,权重数值低的事件对应优先级低的事件。例如,权重可以按照从低到高的顺序,由阿拉伯数字1到10表示,权重数值大的事件对应优先级高的事件,权重数值低的事件对应优先级低的事件。
在此基础上,获取接收到的待处理事件的优先级,以及原始事件队列中的每个事件的优先级。详细地,获取接收到的待处理事件,以及原始事件队列中的每个事件,并从预先存储的数据库中,获取每个事件的权重。
步骤S300,按照优先级从高到低的顺序,将待处理事件加入原始事件队列中,形成更新后的事件队列。
需要说明的是,若有两个事件的优先级相同,则可以根据事件的接收时间和/或待处理时间再次为两个事件添加权重,再次判断两个事件优先级。例如,权重可以由阿拉伯数字表示,权重数值大的事件对应优先级高的目标事件,权重数值低的事件对应优先级低的事件。此时,对接收的时间较早的事件再次添加的权重值大于对接收的时间较晚的事件再次添加的权重值。
步骤S400,根据事件驱动模式的处理逻辑,按照更新后的事件队列中的事件排序,依次对更新后的事件队列中的各事件进行处理。
示例性的,事件驱动模式的处理逻辑,可以理解为:当事件触发时,终端设备中的CPU的事件驱动机制选择该事件对应的处理函数运行;当没有事件触发时,CPU的事件驱动机制可以进入睡眠状态。
由上述可知,本公开所提供的信息发布方法、终端设备及系统,根据事件驱动模式的处理逻辑对各事件进行处理。这样,终端设备无需对事件发生器进行连续运行的轮询,可以释放CPU的计算资源,提高信息发布效率以及信息发布系统的稳定性。同时,根据接收的待处理事件根据优先级从高到低的顺序不断更新事件队列,按照更新后的事件队列中的事件排序,依次对更新后的事件队列中的各事件进行处理。这样,终端设备可以对优先级高的事件迅速做出反馈,适用性更强。
此外,事件发生器与终端设备之间耦合度较低,在终端设备需要增加根据其他的事件做出相应的反馈时,仅需在对应的事件发生器中添加一个待处理事件以及在终端设备中添加该待处理事件对应的处理函数即可,系统的扩展成本较低。例如,在一些商用场景下,终端设备需要增加如下功能:在人员拿起商品时,显示商品信息。此时,仅需在系统中添加一个“物品拿起事件”和“物品拿起事件对应的处理函数”,系统扩展成本较低。
在一些实施例中,如图2所示,在上述步骤S400中,依次对更新后的事件队列中的各事件进行处理,具体包括:
步骤S410,判断当前是否有事件正在被处理。
在当前没有事件正在被处理的情况下,则执行步骤S420;在当前有事件正在被处理的情况下,则执行步骤S430-步骤S434。
步骤S420,依次对更新后的事件队列中的各事件进行处理。
步骤S430,获取第一目标事件的优先级,第一目标事件为当前正在被处理的事件。
可选的,获取正在被处理的事件,并从预先存储的数据库中,获取正在被处理的事件的权重,即第一目标事件的权重,权重用于表示第一目标事件的优先级。
步骤S431,确定第二目标事件,第二目标事件为更新后的事件队列中优先级最高的事件。
可选的,获取更新后的事件队列中的每个事件,并从预先存储的数据库中,获取每个事件的权重。权重用于表示每个事件的优先级,且权重可以由阿拉伯数字表示,权重数值大的事件对应优先级高的事件,权重数值低的事件对应优先级低的事件。将更新后的事件队列中的所有事件的权重进行对比,权重数值最大的事件被判定为第二目标事件。
步骤S432,判断第一目标事件的优先级是否小于第二目标事件的优先级。
若第一目标事件的优先级小于第二目标事件的优先级,执行步骤S433;若第一目标事件的优先级大于或等于第二目标事件的优先级,执行S434。
步骤S433,若是,则停止处理第一目标事件,并处理第二目标事件。
示例性的,终端设备当前正在处理广告播放事件,并接收到消防报警事件。此时,获取消防报警事件的优先级以及原始事件队列中的各个事件的优先级,并按照优先级从高到低的顺序将消防报警事件插入原始事件队列中,形成更新后的事件队列。其中,消防报警事件为更新后的事件队列中具有最高的优先级的事件,且消防报警事件的优先级大于广告播放事件的优先级。这样,当终端设备接收到消防报警事件时,由于消防报警事件的优先级大于广告播放事件的优先级,终端设备直接执行消防报警事件对应的处理函数,替换正在正常处理的广告播放事件。
示例性的,终端设备正在执行广告播放事件,并接收到物品取出事件。此时,获取物品取出事件的优先级以及原始事件队列中的各个事件的优先级,并按照优先级从高到低的顺序将物品取出事件插入原始事件队列中,形成更新后的事件队列。其中,物品取出事件为更新后的事件队列中具有最高的优先级的事件,且物品取出事件的优先级大于广告播放事件的优先级。这样,当终端设备接收到物品取出事件时,由于物品取出事件的优先级大于广告播放事件的优先级,终端设备直接执行物品取出事件对应的处理函数,替换正在正常处理的广告播放事件。
步骤S434,若否,则继续处理完第一目标事件,再依次处理更新后的事件队列中剩余的各事件。
示例性的,终端设备正在执行消防报警事件,并接收到广告播放事件。此时,获取广告播放事件的优先级以及原始事件队列中的各个事件的优先级,并按照优先级从高到低的顺序将广告播放事件插入原始事件队列中,形成更新后的事件队列。其中,广告播放事件为更新后的事件队列中具有最高的优先级的事件,且广告播放事件的优先级小于消防报警事件的优先级。这样,当终端设备接收到广告播放事件时,由于广告播放事件的优先级小于消防报警事件的优先级,终端设备继续执行消防报警事件,并在执行完成消防报警事件之后,再依次处理更新后的事件队列中剩余的各事件。
示例性的,终端设备正在执行物品取出事件,并接收到广告播放事件。此时,获取广告播放事件的优先级以及原始事件队列中的各个事件的优先级,并按照优先级从高到低的顺序将广告播放事件插入原始事件队列中,形成更新后的事件队列。其中,广告播放事件为更新后的事件队列中具有最高的优先级的事件,且广告播放事件的优先级小于物品取出事件的优先级。这样,当终端设备接收到广告播放事件时,由于广告播放事件的优先级小于物品取出事件的优先级,终端设备继续执行物品取出事件,并在执行完成物品取出事件之后,再依次处理更新后的事件队列中剩余的各事件。
在一些实施例中,参阅图3,依次对更新后的事件队列中的各事件进行处理的过程中,对事件队列中的至少一个事件进行处理的步骤包括:
步骤S500,使用当前需要处理的事件对应的处理函数,对当前需要处理的事件进行处理。
步骤S510,获取处理后的数据,根据处理后的数据,触发与当前需要处理的事件关联的关联事件。
步骤S520,使用关联事件对应的处理函数,对关联事件进行处理。
示例性的,当处理节目下发事件时,使用处理节目下发事件对应的处理函数,对处理节目下发事件进行处理。获取处理后的数据,例如,节目清单。根据节目清单,触发与节目下发事件关联的节目下载事件。使用节目下载事件对应的处理函数,对节目下载事件进行处理。
在此基础上,在处理关联事件的过程中,还可能触发新的关联事件。
示例性的,对上述节目下载事件进行处理,获取节目下载事件处理后的数据之后,例如,节目内容。根据节目内容,触发与节目下发事件关联的节目播放事件。使用节目播放事件对应的处理函数,对节目播放事件进行处理,以播放指定的节目内容。
本公开的一些实施例还提供了一种终端设备10,参阅图4和图7,包括事件接收组件11、队列更新组件12和事件处理组件13。其中,事件接收组件11被配置为与事件发生器20和/或服务器30耦接,实时接收来自事件发生器20和/或服务器30的待处理事件。队列更新组件12与事件接收组件11耦接,队列更新组件12被配置为,存储原始事件队列,根据事件接收组件11所接收的待处理事件不断更新事件队列;更新后的事件队列中各事件按照优先级从高到低的顺序排列。事件处理组件13与队列更新组件12耦接,事件处理组件13被配置为,根据事件驱动模式的处理逻辑,按照更新后的事件队列中的事件排序,依次对更新后的事件队列中的各事件进行处理。
这里,在事件接收组件11被配置为与事件发生器20耦接时,实时接收来自事件发生器20的待处理事件;在事件接收组件11被配置为与服务器30耦接时,实时接收来自服务器30的待处理事件;在事件接收组件11被配置为与事件发生器20和服务器30耦接时,实时接收来自事件发生器20和服务器30的待处理事件。
由于本公开实施例提供的终端设备10解决的技术问题与上述实施例提供的信息发布方法解决的技术问题相似,故在此不再赘述。
此处,终端设备10可以为各种终端,例如,计算机输出组件,电视,广告牌,具有显示功能的激光打印机,电话,手机,个人数字助理(personal digital assistant,PDA),膝上型计算机,车辆,大面积墙壁,剧院的屏幕或体育场标牌等。
需要说明的是,事件发生器20可以是与终端设备10耦接的外部设备,例如,服务器、播放器、消防系统、外部传感器、摄像头和时钟中的至少一个,本发明实施例不限于此。当然,事件发生器还可以是集成在终端设备内的摄像头、系统时钟、播放器中的至少一个,本发明实施例不限于此。
在一些实施例中,事件处理组件13被配置为,在当前没有事件正在被处理的情况下,依次对更新后的事件队列中的各事件进行处理。
在一些实施例中,事件处理组件13还被配置为,在当前有事件正在被处理的情况下,获取第一目标事件的优先级,第一目标事件为当前正在被处理的事件;确定第二目标事件,第二目标事件为更新后的事件队列中优先级最高的事件;判断第一目标事件的优先级是否小于第二目标事件的优先级;若是,则停止处理第一目标事件,并处理第二目标事件;若否,则继续处理完第一目标事件,再依次处理更新后的事件队列中剩余的各事件。
在一些实施例中,如图5所示,终端设备10还包括数据发布组件14和事件发布组件15。在此基础上,事件处理组件13还被配置为,在对事件队列中的至少一个事件进行处理时,将当前需要处理的事件发送给数据发布组件14。数据发布组件14被配置为,存储预设处理的事件的处理函数;接收来自事件处理组件13的当前需要处理的事件,根据当前需要处理的事件对应的处理函数对当前需要处理的事件进行处理,并将处理后的数据发送给事件处理组件13。
事件处理组件13还被配置为,根据来自数据发布组件14的处理后的数据,触发与当前需要处理的事件关联的关联事件,并将关联事件发送给事件发布组件15。事件发布组件15被配置为,接收来自事件处理组件13的关联事件,对关联事件进行发布。
事件接收组件11还被配置为,接收事件发布组件15所发布的关联事件,并将关联事件发送给事件处理组件13,以使事件处理组件13对关联事件进行处理。
本公开的一些实施例还提供了一种信息发布系统1,如图6所示,包括:至少一个如上述任一实施例中的终端设备10,以及多个事件发生器20。其中,每个终端设备10与至少一个事件发生器20耦接,与终端设备10耦接的事件发生器20被配置为,向终端设备10发送待处理事件。
由于本公开实施例提供的信息发布系统1解决的技术问题与上述实施例提供的信息发布方法解决的技术问题相似,故在此不再赘述。
在一些实施例中,信息发布系统1中的一个事件发生器20可能需要与多个终端设备10耦接。这样,该事件发生器20所产生的待处理事件需要对应分发到不同的终端设备10。特别是当信息发布系统1包括多个事件发生器20和多个终端设备10时,信息发布系统1中的事件发生器20与终端设备10之间的交互尤其复杂。
可选的,参阅图7,信息发布系统1还包括服务器30,服务器30与至少一个事件发生器20耦接,以及与多个终端设备10耦接;服务器30被配置为,实时接收来自每个事件发生器20的待处理事件,获取所有的待处理事件对应的终端设备10的信息,根据终端设备10的信息,将待处理事件分类,并分发至对应的终端设备10;与服务器30耦接的事件发生器20还被配置为,向服务器30发送待处理事件。
需要说明的是,如图8所示,信息发布系统1中所有的事件发生器20还可以均与服务器30耦接,由服务器30统一将所有的待处理事件发送给对应的终端。
在另一些实施例中,信息发布系统1还包括服务器30,服务器30与至少一个事件发生器20耦接,以及与多个终端设备10耦接。与服务器30耦接的事件发生器20被配置为,实时获取外部的输入事件。服务器30被配置为,按照预设时间间隔或实时接收事件发生器20的输入事件,并判断输入事件是否满足预设条件。在输入事件满足预设条件的情况下,将满足预设条件的输入事件判定为待处理事件,并将待处理事件读出;获取读出的待处理事件对应的终端设备10的信息,根据终端设备10的信息,将读出的待处理事件分类,并分发至对应的终端设备10。
此处,输入事件可以包括用户操作指令信息、消防系统的状态信息、物品的位置信息、人脸识别信息和时间信息中的至少一个,本公开实施例不限于此。相应的,在输入事件包括用户操作指令信息、消防系统的状态信息、物品的位置信息、人脸识别信息以及时间信息的情况下,用户操作指令信息对应的满足预设条件的待处理事件可以为节目下发事件;消防系统的状态信息对应的满足预设条件的待处理事件可以为消防报警事件;物品的位置信息对应的满足预设条件的待处理事件可以为物品取出事件;人脸识别信息对应的满足预设条件的待处理事件可以为人脸识别成功事件;时间信息对应的满足预设条件的待处理事件可以为时间为第一预设时间事件。
此时,事件发生器20、终端设备10分别与服务器30耦接,能够进一步的降低事件发生器20与终端设备10之间的耦合度,进一步降低信息发布系统1的扩展成本。
本公开的一些实施例提供了一种计算机可读存储介质(例如,非暂态计算机可读存储介质),该计算机可读存储介质中存储有计算机程序指令,计算机程序指令在处理器上运行时,使得处理器执行如上述实施例中任一实施例所述的信息发布方法中的一个或多个步骤。
示例性的,上述计算机可读存储介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,CD(Compact Disk,压缩盘)、DVD(Digital VersatileDisk,数字通用盘)等),智能卡和闪存器件(例如,EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、卡、棒或钥匙驱动器等)。本公开描述的各种计算机可读存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读存储介质。术语“机器可读存储介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
本公开的一些实施例还提供了一种计算机程序产品。该计算机程序产品包括计算机程序指令,在计算机上执行该计算机程序指令时,该计算机程序指令使计算机执行如上述实施例所述的信息发布方法中的一个或多个步骤。
本公开的一些实施例还提供了一种计算机程序。当该计算机程序在计算机上执行时,该计算机程序使计算机执行如上述实施例所述的信息发布方法中的一个或多个步骤。
上述计算机可读存储介质、计算机程序产品及计算机程序的有益效果和上述一些实施例所述的信息发布方法的有益效果相同,此处不再赘述。
以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种信息发布方法,其特征在于,包括:
接收来自事件发生器和/或服务器的待处理事件;
获取接收到的待处理事件的优先级,以及原始事件队列中的每个事件的优先级;
按照优先级从高到低的顺序,将所述待处理事件加入所述原始事件队列中,形成更新后的事件队列;
根据事件驱动模式的处理逻辑,按照更新后的事件队列中的事件排序,依次对更新后的事件队列中的各事件进行处理。
2.根据权利要求1所述的信息发布方法,其特征在于,所述依次对更新后的事件队列中的各事件进行处理,包括:
在当前没有事件正在被处理的情况下,依次对更新后的事件队列中的各事件进行处理。
3.根据权利要求1所述的信息发布方法,其特征在于,所述依次对更新后的事件队列中的各事件进行处理,还包括:
在当前有事件正在被处理的情况下,获取第一目标事件的优先级,所述第一目标事件为当前正在被处理的事件;
确定第二目标事件,所述第二目标事件为所述更新后的事件队列中优先级最高的事件;
判断所述第一目标事件的优先级是否小于所述第二目标事件的优先级;
若是,则停止处理所述第一目标事件,并处理所述第二目标事件;
若否,则继续处理完所述第一目标事件,再依次处理所述更新后的事件队列中剩余的各事件。
4.根据权利要求1~3中任一项所述的信息发布方法,其特征在于,所述依次对更新后的事件队列中的各事件进行处理的过程中,对所述事件队列中的至少一个事件进行处理的步骤包括:
使用当前需要处理的事件对应的处理函数,对当前需要处理的事件进行处理;
获取处理后的数据,根据所述处理后的数据,触发与当前需要处理的事件关联的关联事件;
使用所述关联事件对应的处理函数,对所述关联事件进行处理。
5.一种终端设备,其特征在于,包括:
事件接收组件,被配置为与事件发生器和/或服务器耦接,实时接收来自所述事件发生器和/或所述服务器的待处理事件;
队列更新组件,与所述事件接收组件耦接;所述队列更新组件被配置为,存储原始事件队列,根据所述事件接收组件所接收的待处理事件不断更新事件队列;其中,更新后的事件队列中各事件按照优先级从高到低的顺序排列;
事件处理组件,与所述队列更新组件耦接;所述事件处理组件被配置为,根据事件驱动模式的处理逻辑,按照更新后的事件队列中的事件排序,依次对更新后的事件队列中的各事件进行处理。
6.根据权利要求5所述的终端设备,其特征在于,所述事件处理组件被配置为,在当前没有事件正在被处理的情况下,依次对更新后的事件队列中的各事件进行处理。
7.根据权利要求5所述的终端设备,其特征在于,所述事件处理组件还被配置为,在当前有事件正在被处理的情况下,获取第一目标事件的优先级,所述第一目标事件为当前正在被处理的事件;确定第二目标事件,所述第二目标事件为所述更新后的事件队列中优先级最高的事件;判断所述第一目标事件的优先级是否小于所述第二目标事件的优先级;若是,则停止处理所述第一目标事件,并处理所述第二目标事件;若否,则继续处理完所述第一目标事件,再依次处理所述更新后的事件队列中剩余的各事件。
8.根据权利要求5~7中任一项所述的终端设备,其特征在于,还包括:数据发布组件和事件发布组件;
所述事件处理组件还被配置为,在对所述事件队列中的至少一个事件进行处理时,将当前需要处理的事件发送给所述数据发布组件;
所述数据发布组件被配置为,存储预设处理的事件的处理函数;接收来自所述事件处理组件的当前需要处理的事件,根据当前需要处理的事件对应的处理函数对当前需要处理的事件进行处理,并将处理后的数据发送给所述事件处理组件;
所述事件处理组件还被配置为,根据来自所述数据发布组件的所述处理后的数据,触发与当前需要处理的事件关联的关联事件,并将所述关联事件发送给所述事件发布组件;
所述事件发布组件被配置为,接收来自所述事件处理组件的所述关联事件,对所述关联事件进行发布;
所述事件接收组件还被配置为,接收所述事件发布组件所发布的所述关联事件,并将所述关联事件发送给所述事件处理组件,以使所述事件处理组件对所述关联事件进行处理。
9.一种信息发布系统,其特征在于,包括:
至少一个如权利要求5~8中任一项所述的终端设备;
多个事件发生器,每个所述终端设备与至少一个事件发生器耦接;与所述终端设备耦接的事件发生器被配置为,向所述终端设备发送待处理事件。
10.根据权利要求9所述的信息发布系统,其特征在于,还包括:
服务器,与至少一个事件发生器耦接,以及与多个所述终端设备耦接;所述服务器被配置为,实时接收来自每个所述事件发生器的待处理事件,获取所有的所述待处理事件对应的所述终端设备的信息,根据所述终端设备的信息,将所述待处理事件分类,并分发至对应的所述终端设备;
与所述服务器耦接的事件发生器还被配置为,向所述服务器发送待处理事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110088474.6A CN112817705A (zh) | 2021-01-22 | 2021-01-22 | 信息发布方法、终端设备及信息发布系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110088474.6A CN112817705A (zh) | 2021-01-22 | 2021-01-22 | 信息发布方法、终端设备及信息发布系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112817705A true CN112817705A (zh) | 2021-05-18 |
Family
ID=75858913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110088474.6A Pending CN112817705A (zh) | 2021-01-22 | 2021-01-22 | 信息发布方法、终端设备及信息发布系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112817705A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186053A (zh) * | 2022-02-17 | 2022-03-15 | 中科雨辰科技有限公司 | 一种用于事件消息的发送方法 |
CN115577120A (zh) * | 2022-10-09 | 2023-01-06 | 华院计算技术(上海)股份有限公司 | 用于连铸生产的数字人的交互方法及装置、计算设备 |
CN115577935A (zh) * | 2022-10-09 | 2023-01-06 | 华院计算技术(上海)股份有限公司 | 基于认知智能的连铸数据处理方法及装置、计算设备 |
-
2021
- 2021-01-22 CN CN202110088474.6A patent/CN112817705A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186053A (zh) * | 2022-02-17 | 2022-03-15 | 中科雨辰科技有限公司 | 一种用于事件消息的发送方法 |
CN114186053B (zh) * | 2022-02-17 | 2022-05-17 | 中科雨辰科技有限公司 | 一种用于事件消息的发送方法 |
CN115577120A (zh) * | 2022-10-09 | 2023-01-06 | 华院计算技术(上海)股份有限公司 | 用于连铸生产的数字人的交互方法及装置、计算设备 |
CN115577935A (zh) * | 2022-10-09 | 2023-01-06 | 华院计算技术(上海)股份有限公司 | 基于认知智能的连铸数据处理方法及装置、计算设备 |
CN115577935B (zh) * | 2022-10-09 | 2023-09-15 | 华院计算技术(上海)股份有限公司 | 基于认知智能的连铸数据处理方法及装置、计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112817705A (zh) | 信息发布方法、终端设备及信息发布系统 | |
JP2016505938A (ja) | ユーザに関連付けられている複数のデバイスに対する通知の送信 | |
CN110022260B (zh) | 一种跨环境回执消息处理方法及系统 | |
CN110866008A (zh) | 一种数据处理方法、装置、系统 | |
CN112153582B (zh) | 验证码短信显示方法及装置 | |
CN111553699A (zh) | 一种资源调度方法及装置 | |
CN112506553A (zh) | 服务网格的数据面容器的升级方法、装置及电子设备 | |
WO2020119484A1 (zh) | 一种信息提示的方法、装置、电子设备及可读介质 | |
CN112464095B (zh) | 消息推送方法、装置、终端及存储介质 | |
CN112965799B (zh) | 任务状态的提示方法、装置、电子设备和介质 | |
WO2024037528A1 (zh) | 一种信息显示方法、装置、设备及介质 | |
CN111831437A (zh) | 设备管理方法、装置、存储介质及电子设备 | |
CN110569474A (zh) | 信息显示方法和装置 | |
CN106302821B (zh) | 一种数据请求方法及其设备 | |
CN111316313A (zh) | 整理辅助系统、整理辅助方法以及程序 | |
CN114489892A (zh) | 数据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN114816684A (zh) | 业务处理方法、装置、设备、可读存储介质及产品 | |
JP2006323636A (ja) | プロジェクトリスク管理支援システム | |
CN111921204A (zh) | 云应用程序的控制方法、装置、设备及存储介质 | |
KR20210009301A (ko) | 사용 정도에 기초하여 대화방을 처리하는 방법과 시스템 및 비-일시적인 컴퓨터 판독가능한 기록 매체 | |
CN113730919B (zh) | 云应用预启动方法、装置、设备、存储介质以及程序产品 | |
CN109460288B (zh) | 一种事务处理方法、管理服务器、事务处理系统和存储介质 | |
CN114281498A (zh) | 一种任务处理方法、装置、电子设备及存储介质 | |
US10365700B2 (en) | System and method of managing context-aware resource hotplug | |
CN114254233A (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 |