CN106598751A - 通过事件总线分发事件的方法及系统 - Google Patents
通过事件总线分发事件的方法及系统 Download PDFInfo
- Publication number
- CN106598751A CN106598751A CN201610932971.9A CN201610932971A CN106598751A CN 106598751 A CN106598751 A CN 106598751A CN 201610932971 A CN201610932971 A CN 201610932971A CN 106598751 A CN106598751 A CN 106598751A
- Authority
- CN
- China
- Prior art keywords
- event
- subscription
- handling function
- bus
- person
- 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.)
- Granted
Links
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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/546—Xcast
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
Abstract
本发明提出一种通过事件总线分发事件的方法及系统,其中方法包括以下步骤:事件发布者发布事件;事件总线分析所发布的事件,获取事件参数,并根据该事件参数获取预先分类好的、对应该事件的事件处理函数集合,该事件处理函数集合中包含处理该事件的所有事件处理函数,且每个事件处理函数对应一个事件订阅者;执行该事件处理函数集合中的事件处理函数,将事件分发给事件订阅者。本发明提出了一套完善的事件通信总线,能够很好的分发相应的事件请求,使用简单,逻辑清晰,使得开发者能够更多的去关注业务逻辑,不需要再为事件的分发耗费相应的时间。
Description
技术领域
本发明涉及一种Android系统的通信领域,尤其涉及一种通过事件总线分发事件的方法及系统。
背景技术
在Android的应用程序中通常会有多个界面和多个功能模块。在处理界面或者功能模块之间通信问题的方法在Android中通常有下面几种方案。
其一是通过Handler来进行通信多线程之间的通信,这种使用起来还算比较方便,但是容易造成内存泄漏等问题。其次Handler如果在多个界面传递和使用会比较复杂,大大增加了模块之间的耦合度。使得程序变得更加复杂,后期非常不好维护。
其二是通过广播来进行组件之间的通信,广播在Android系统中是一个比较常见的技术,当时广播有一个最大的缺陷是时效性非常差。广播发出后是由系统进行转发的,系统所有的广播都是走的同一个通道,当广播数量比较多的时候很容易造成阻塞,导致广播接收速度变慢,严重时还会造成广播信号的丢失,所以该方法也不是一套很好的组件通信的方案。
其三是通过接口来实现相互之间的信息交流,但是接口有其局限性,不容易扩展。一旦接口定义好了后期两者的通信就无法进行变更,如果需要变更就需要变更接口,但是接口一旦进行变更其相应的实现逻辑等都需要相应的变化。这对于扩展性而言是非常不利的。所以这个方案也是不适合作为组件之间通信的优选方案。
可见,上述Android系统提供的所有的方法都有其局限性和缺陷。
发明内容
本发明要解决的技术问题在于针对现有技术中事件分发处理速度慢或者使用不便的缺陷,提供一种使用简单,逻辑清晰,使得开发者能够更多的去关注业务逻辑,不需要再为事件的分发耗费相应的时间的通过事件总线分发事件的方法及系统。
本发明解决其技术问题所采用的技术方案是:
提供一种通过事件总线分发事件的方法,包括以下步骤:
事件发布者发布事件;
事件总线分析所发布的事件,获取事件参数,并根据该事件参数获取预先分类好的、对应该事件的事件处理函数集合,该事件处理函数集合中包含处理该事件的所有事件处理函数,且每个事件处理函数对应一个事件订阅者;
执行该事件处理函数集合中的事件处理函数,将事件分发给事件订阅者。
接上述技术方案,所述事件发布者发布的各个事件均被汇总到事件总线。
接上述技术方案,该方法还包括步骤:事件订阅者预先进行注册。
接上述技术方案,还包括步骤:根据事件订阅者注册的信息对事件进行分类,得到各事件的事件处理函数集合。
接上述技术方案,步骤“根据注册的信息对事件进行分类得到各事件的事件处理函数集合”具体为:
事件总线根据注册信息获取订阅事件的事件处理函数,并生成该事件订阅者的事件方法集合listEventMethod,该事件方法集合listEventMethod中包含该事件订阅者所有订阅事件的事件处理函数;
所有事件订阅者的事件方法集合汇总为总事件订阅集合allListEventMethod;
遍历总事件订阅集合allListEventMethod,根据事件类型进行分类,得到各个事件的事件处理函数集合。
接上述技术方案,步骤“遍历总事件订阅集合allListEventMethod,根据事件类型进行分类,得到各个事件的事件处理函数集合”具体为:
使用for循环语句遍历总事件订阅集合allListEventMethod中的每一个元素,每个元素均表示事件的处理函数,每次获取其中一个元素;
通过获取的每一个元素得到其中所包含的事件参数信息;
根据事件参数信息中的事件类型对总事件订阅集合allListEventMethod进行分类,得到各个事件的处理函数集合。
接上述技术方案,事件订阅者存在优先级,优先级高的事件订阅者可取消事件订阅并继续向优先级低的事件订阅者分发。
本发明还提供了一种通过事件总线分发事件的系统,包括:
事件发布模块,用于事件发布者发布事件;
事件分析模块,用于通过事件总线分析所发布的事件,获取事件参数,并根据该事件参数获取预先分类好的、对应该事件的事件处理函数集合,该事件处理函数集合中包含处理该事件的所有事件处理函数,且每个事件处理函数对应一个事件订阅者;
事件分发模块,用于通过事件总线分发事件,具体为执行该事件处理函数集合中的事件处理函数,将事件分发给事件订阅者。
接上述技术方案,该系统还包括:
注册模块,用于事件订阅者预先进行注册;
事件处理函数集合生成模块,用于根据注册的信息对事件进行分类得到各事件的事件处理函数集合。
接上述技术方案,所述事件处理函数集合生成模块具体包括:
事件订阅者的事件方法集合生成模块,用于通过事件总线生成事件订阅者的事件方法集合,具体为事件总线根据注册信息获取订阅事件的事件处理函数,并生成该事件订阅者的事件方法集合listEventMethod,该事件方法集合listEventMethod中包含该事件订阅者所有订阅事件的事件处理函数;
总事件订阅集合生成模块,用于生成总事件订阅集合allListEventMethod,该总事件订阅集合allListEventMethod包含所有事件订阅者的事件方法集合;
事件分类模块,用于遍历总事件订阅集合allListEventMethod,根据事件类型进行分类,得到各个事件的事件处理函数集合。
本发明产生的有益效果是:本发明提出了一套完善的事件通信总线,能够很好的解耦事件发送者和事件处理者之间的关系。应用程序所有的事件都会分发到事件总线中,事件总线会对事件进行分类和分析,最后将时间发布到对应的订阅者去处理。通过事件总线能够很好的分发相应的事件请求,使用简单,逻辑清晰,使得开发者能够更多的去关注业务逻辑,不需要再为事件的分发耗费相应的时间。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明实施例事件分发的整体流程图;
图2为本发明实施例通过事件总线分发事件的方法流程图一;
图3为本发明实施例通过事件总线分发事件的方法流程图二;
图4为本发明实施例事件订阅者的注册流程图;
图5为本发明实施例通过事件总线分发事件的方法流程图三;
图6为图5中步骤SA的具体流程图;
图7为图6中步骤SA3的具体流程图;
图8为本发明实施例分完类型后的事件函数模型;
图9为本发明实施例通过事件总线分发事件的系统结构示意图一;
图10为本发明实施例通过事件总线分发事件的系统结构示意图二;
图11为图10中事件处理函数集合生成模块结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
对本发明所涉及的名词进行如下解释:
Handler:Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分在消息队列中逐一将消息取出,然后对消息进行处理,也就是发送消息和接收消息不是同步的处理。这种机制通常用来处理相对耗时比较长的操作。
Class:类是面向对象程序设计中的概念,是面向对象编程的基础。类的实质是一种数据类型,类似于int、char等基本类型,不同的是它是一种复杂的数据类型。因为它的本质是类型,而不是数据,所以不存在于内存中,不能被直接操作,只有被实例化为对象时,才会变得可操作。
反射:反射,一种计算机处理方式。是程序可以访问、检测和修改它本身状态或行为的一种能力。
JDK:JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库。
解耦:耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。解耦就是用数学方法将两种运动分离开来处理问题,常用解耦方法就是忽略或简化对所研究问题影响较小的一种运动,只分析主要的运动。
类加载器:JDK中一种加载类的工具。
事件(Event):又可称为消息,本文中统一用事件表示。其实就是一个对象,可以是网络请求返回的字符串,也可以是某个开关状态等等。事件类型(EventType)指事件所属的Class,这个类型主要是后面用于区分不同时间的唯一标示符,此处后文会详细进行描述。
订阅者(Subscriber):订阅某种事件类型的对象。当有发布者发布这类事件后,事件总线会执行订阅者的事件处理函数,这个函数叫事件响应函数。订阅者通过register接口订阅某个事件类型,unregister接口退订。订阅者存在优先级,优先级高的订阅者可以取消事件继续向优先级低的订阅者分发,可默认所有订阅者优先级都为0。
发布者(Publisher):发布某事件的对象,通过发布事件的接口发布事件。
本发明提出了一套完善的事件通信总线,通过本发明的事件总线能够很好的分发相应的事件请求,使用简单,逻辑清晰,使得开发者能够更多的去关注业务逻辑,不需要再为事件的分发耗费相应的时间。
整个事件分发的整体流程如图1所示,事件发布是可通过设计的统一默认的事件发布者,通过默认的事件发送者来发送各种各样的事件。所有发送的事件都会被汇总到事件总线中进行处理,通过分析每一个事件,最终将事件分发到对应的事件订阅者。
如图1所示,如果事件发布者发布了一个事件1(事件1是被事件订阅者1订阅过的事件),事件总线就会将事件1分发到事件订阅者1中,此时就会执行事件订阅者1中的处理函数。
本发明将事件发送者和事件订阅者进行了很好的解耦,事件总线的任务非常单一,核心功能就是对事件进行分发,将事件1有效的分发到事件订阅者1,这样就实现了整个通信过程。以下通过具体实施例来说明本发明的事件分发方法。
本发明实施例通过事件总线分发事件的方法,如图2所示,包括以下步骤:
S1、事件发布者发布事件;
S3、事件总线分析所发布的事件,获取事件参数,并根据该事件参数获取预先分类好的、对应该事件的事件处理函数集合,该事件处理函数集合中包含处理该事件的所有事件处理函数,且每个事件处理函数对应一个事件订阅者;
S5、执行该事件处理函数集合中的事件处理函数,将事件分发给事件订阅者。
步骤S1中事件发布者为统一默认的事件发布者,事件发布者发布的各个事件均被汇总到事件总线。
进一步地,本发明的一个实施例中,在步骤S1之前,还包括步骤S0、事件订阅者预先进行注册的步骤,如图3所示。
具体实施例的实现中,首先是得有一个接收者去注册事件接收,一旦事件接收者注册进事件总线以后,此时事件总线里就有了事件接收者的引用。
整个注册流程的大体流程如图4所示:
注册流程中,首先进行初始化,获得事件订阅者的类的信息,在该类中遍历出本类中的所有事件处理函数。
根据类遍历出类中的所有函数:
a)通过类加载器去加载一个类。类加载器是JDK提供的一个类加载工具,这个工具的核心功能是将一个本地类加载到内存中。具体实现是调用的Class.forName这个函数就能够加载一个类了。
为了方便了解,简单介绍下类加载器是如何加载类的。类的加载过程主要是由以下几个步骤构成的:
1)申请内存空间,并且将内存空间的做必要的初始化。
2)将类加载到这个申请的内存空间中
3)对该类进行必要的初始化操作,调用该类的构造方法进行实例化这个类。
b)获取这个类中的方法,JDK提供了一套获取类中方法的函数,通过调用getDeclaredMethods()就能过获取到这个类中的全部方法,返回的方法名存放在一个数组中,为了方便表述将这个数组标记为MethedList。
c)遍历这个MethedList数组,将其中的事件处理方法解析出来。所有事件处理方法规定都是以onEventHandler开头,这样只需要判定方法名中是否包含onEventHandler这串字符串就能够判定这个方法是不是事件处理方法了。
判断一个字符串中是否含有另一个字符串我们可以调用字符串函数中的contains函数,例如A.conains(B)函数,这个函数的功能是判断A字符串中是否含有B字符串,如果包含就返回true(真),否则就返回false(假)。
通过上述方法就能够将MethodList数组中的所有事件处理函数解析出来了。为了方便后面处理,将解析出来的所有事件函数存放在一个集合中,为了方便后续描述,将这个集合标记为listEventMethod。
d)listEventMethod是最终存放了所有事件方法的集合,这个集合是通过调用add方法来添加元素的。上面c步骤中,就是通过调用add方法将所有事件函数添加到了listEventMethod集合中去的。
一个订阅者可以订阅多种事件或者同一个事件可以订阅多次。如果一个应用中存在多个订阅者,整个订阅注册的过程和上述过程完全一致。每一个订阅者都会生成对应的listEventMethod集合,等所有订阅者的集合解析完成以后,将所有订阅者的listEventMethod汇总成一个大的事件订阅集合中。为了方便后续描述,将这个大的事件订阅集合标记为allListEventMethod。
如图5所示,事件订阅者预先进行注册后,其后还包括步骤:
SA、对事件进行分类得到各事件的事件处理函数集合。
如图6所示,步骤SA具体包括以下步骤:
SA1、事件总线根据注册信息获取订阅事件的事件处理函数,并生成该事件订阅者的事件方法集合listEventMethod,该事件方法集合listEventMethod中包含该事件订阅者所有订阅事件的事件处理函数;
SA2、所有事件订阅者的事件方法集合汇总为总事件订阅集合allListEventMethod;
SA3、遍历总事件订阅集合allListEventMethod,根据事件类型进行分类,得到各个事件的事件处理函数集合。
如图7所示,步骤A3具体包括以下步骤:
A31、使用for循环语句遍历总事件订阅集合allListEventMethod中的每一个元素,每个元素均表示事件的处理函数,每次获取其中一个元素;
A32、通过获取的每一个元素得到其中所包含的事件参数信息;
A33、根据事件参数信息中的事件类型对总事件订阅集合allListEventMethod进行分类,得到各个事件的处理函数集合。
分完类型后的事件函数模型如图8所示。
事件总线的核心功能是对事件进行分发,如何正确的将事件路由到对应的订阅者上是其核心工作。
具体分发流程如下所示:
1)收到事件消息时,将首先获取事件Event,再通过事件Event去找到对应的处理函数集合。及此步共有2个步骤,第一个是获取传递过来的事件Event,第二个是找到对应的Event的处理函数集合。
获取传递过来的事件:
事件是通过参数形式传递到事件总线的,事件总线中通过直接通过参数获取就能够获取到对应的事件Event信息。
找到Event对应的处理函数:
由上文实施例可知,已经预先将allListEventMethod按照事件的不同进行了拆分,所以可以直接通过Event的名称找到该事件的处理函数集合。通过比较事件名称是否相同的方法找到对应的事件函数订阅集合。
2)找到事件Event的订阅集合之后,直接调用订阅者的事件触发函数。这样就实现了整个事件路由的过程。
上述过程的核心在于事件Event,根据事件是否相同来进行判定,将事件路由到对应的订阅者手中。
订阅者收到事件消息后可以根据业务逻辑的需求来实现对应的处理逻辑。通过上述方法能够有效的将事件路由到对应的订阅者处,这样就完成了整个事件的路由过程。
为了实现上述实施例的方法,本发明还提供了通过事件总线分发事件的系统,如图9所示,包括:
事件发布模块,用于事件发布者发布事件;
事件分析模块,用于通过事件总线分析所发布的事件,获取事件参数,并根据该事件参数获取预先分类好的、对应该事件的事件处理函数集合,该事件处理函数集合中包含处理该事件的所有事件处理函数,且每个事件处理函数对应一个事件订阅者;
事件分发模块,用于通过事件总线分发事件,具体为执行该事件处理函数集合中的事件处理函数,将事件分发给事件订阅者。
如图10所示,该系统还包括:
注册模块,用于事件订阅者预先进行注册;
事件处理函数集合生成模块,用于根据注册的信息对事件进行分类得到各事件的事件处理函数集合。
如图11所示,所述事件处理函数集合生成模块具体包括:
事件订阅者的事件方法集合生成模块,用于通过事件总线生成事件订阅者的事件方法集合,具体为事件总线根据注册信息获取订阅事件的事件处理函数,并生成该事件订阅者的事件方法集合listEventMethod,该事件方法集合listEventMethod中包含该事件订阅者所有订阅事件的事件处理函数;
总事件订阅集合生成模块,用于生成总事件订阅集合allListEventMethod,该总事件订阅集合allListEventMethod包含所有事件订阅者的事件方法集合;
事件分类模块,用于遍历总事件订阅集合allListEventMethod,根据事件类型进行分类,得到各个事件的事件处理函数集合。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种通过事件总线分发事件的方法,其特征在于,包括以下步骤:
事件发布者发布事件;
事件总线分析所发布的事件,获取事件参数,并根据该事件参数获取预先分类好的、对应该事件的事件处理函数集合,该事件处理函数集合中包含处理该事件的所有事件处理函数,且每个事件处理函数对应一个事件订阅者;
执行该事件处理函数集合中的事件处理函数,将事件分发给事件订阅者。
2.根据权利要求1所述的方法,其特征在于,所述事件发布者发布的各个事件均被汇总到事件总线。
3.根据权利要求1所述的方法,其特征在于,该方法还包括步骤:事件订阅者预先进行注册。
4.根据权利要求3所述的方法,其特征在于,还包括步骤:根据事件订阅者注册的信息对事件进行分类,得到各事件的事件处理函数集合。
5.根据权利要求3所述的方法,其特征在于,步骤“根据注册的信息对事件进行分类得到各事件的事件处理函数集合”具体为:
事件总线根据注册信息获取订阅事件的事件处理函数,并生成该事件订阅者的事件方法集合listEventMethod,该事件方法集合listEventMethod中包含该事件订阅者所有订阅事件的事件处理函数;
所有事件订阅者的事件方法集合汇总为总事件订阅集合allListEventMethod;
遍历总事件订阅集合allListEventMethod,根据事件类型进行分类,得到各个事件的事件处理函数集合。
6.根据权利要求5所述的方法,其特征在于,步骤“遍历总事件订阅集合allListEventMethod,根据事件类型进行分类,得到各个事件的事件处理函数集合”具体为:
使用for循环语句遍历总事件订阅集合allListEventMethod中的每一个元素,每个元素均表示事件的处理函数,每次获取其中一个元素;
通过获取的每一个元素得到其中所包含的事件参数信息;
根据事件参数信息中的事件类型对总事件订阅集合allListEventMethod进行分类,得到各个事件的处理函数集合。
7.根据权利要求1所述的方法,其特征在于,事件订阅者存在优先级,优先级高的事件订阅者可取消事件订阅并继续向优先级低的事件订阅者分发。
8.一种通过事件总线分发事件的系统,其特征在于,包括:
事件发布模块,用于事件发布者发布事件;
事件分析模块,用于通过事件总线分析所发布的事件,获取事件参数,并根据该事件参数获取预先分类好的、对应该事件的事件处理函数集合,该事件处理函数集合中包含处理该事件的所有事件处理函数,且每个事件处理函数对应一个事件订阅者;
事件分发模块,用于通过事件总线分发事件,具体为执行该事件处理函数集合中的事件处理函数,将事件分发给事件订阅者。
9.根据权利要求8所述的系统,其特征在于,该系统还包括:
注册模块,用于事件订阅者预先进行注册;
事件处理函数集合生成模块,用于根据注册的信息对事件进行分类得到各事件的事件处理函数集合。
10.根据权利要求9所述的系统,其特征在于,所述事件处理函数集合生成模块具体包括:
事件订阅者的事件方法集合生成模块,用于通过事件总线生成事件订阅者的事件方法集合,具体为事件总线根据注册信息获取订阅事件的事件处理函数,并生成该事件订阅者的事件方法集合listEventMethod,该事件方法集合listEventMethod中包含该事件订阅者所有订阅事件的事件处理函数;
总事件订阅集合生成模块,用于生成总事件订阅集合allListEventMethod,该总事件订阅集合allListEventMethod包含所有事件订阅者的事件方法集合;
事件分类模块,用于遍历总事件订阅集合allListEventMethod,根据事件类型进行分类,得到各个事件的事件处理函数集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610932971.9A CN106598751B (zh) | 2016-10-31 | 2016-10-31 | 通过事件总线分发事件的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610932971.9A CN106598751B (zh) | 2016-10-31 | 2016-10-31 | 通过事件总线分发事件的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106598751A true CN106598751A (zh) | 2017-04-26 |
CN106598751B CN106598751B (zh) | 2020-02-07 |
Family
ID=58556347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610932971.9A Active CN106598751B (zh) | 2016-10-31 | 2016-10-31 | 通过事件总线分发事件的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106598751B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958717A (zh) * | 2018-06-28 | 2018-12-07 | 深圳数字动能信息技术有限公司 | C++事件总线实现方法 |
CN109284098A (zh) * | 2018-09-25 | 2019-01-29 | 四川长虹电器股份有限公司 | 基于RxJava构建事件总线RxBus的方法 |
CN110471780A (zh) * | 2019-08-21 | 2019-11-19 | 北京百佑科技有限公司 | 分布式事件处理装置、终端和计算机存储介质 |
CN110769018A (zh) * | 2018-07-27 | 2020-02-07 | 北京国双科技有限公司 | 一种消息推送方法及装置 |
CN110989888A (zh) * | 2019-12-13 | 2020-04-10 | 广州华多网络科技有限公司 | 一种触摸事件分发方法及设备 |
CN111596975A (zh) * | 2020-04-29 | 2020-08-28 | 五八有限公司 | 事件调用方法、装置、电子设备及存储介质 |
CN114385458A (zh) * | 2022-03-23 | 2022-04-22 | 苏州浪潮智能科技有限公司 | 一种基于事件总线模型的传感器监控的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1169192A (zh) * | 1994-12-09 | 1997-12-31 | 艾利森电话股份有限公司 | 管理内部执行线程的系统 |
CN103927218A (zh) * | 2014-04-30 | 2014-07-16 | 广州唯品会网络技术有限公司 | 事件分发方法及系统 |
CN104360904A (zh) * | 2014-10-16 | 2015-02-18 | 四川长虹电器股份有限公司 | 基于事件总线的模块间消息传递机制 |
-
2016
- 2016-10-31 CN CN201610932971.9A patent/CN106598751B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1169192A (zh) * | 1994-12-09 | 1997-12-31 | 艾利森电话股份有限公司 | 管理内部执行线程的系统 |
CN103927218A (zh) * | 2014-04-30 | 2014-07-16 | 广州唯品会网络技术有限公司 | 事件分发方法及系统 |
CN104360904A (zh) * | 2014-10-16 | 2015-02-18 | 四川长虹电器股份有限公司 | 基于事件总线的模块间消息传递机制 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958717A (zh) * | 2018-06-28 | 2018-12-07 | 深圳数字动能信息技术有限公司 | C++事件总线实现方法 |
CN108958717B (zh) * | 2018-06-28 | 2023-02-28 | 深圳数字动能信息技术有限公司 | C++事件总线实现方法 |
CN110769018A (zh) * | 2018-07-27 | 2020-02-07 | 北京国双科技有限公司 | 一种消息推送方法及装置 |
CN109284098A (zh) * | 2018-09-25 | 2019-01-29 | 四川长虹电器股份有限公司 | 基于RxJava构建事件总线RxBus的方法 |
CN110471780A (zh) * | 2019-08-21 | 2019-11-19 | 北京百佑科技有限公司 | 分布式事件处理装置、终端和计算机存储介质 |
CN110989888A (zh) * | 2019-12-13 | 2020-04-10 | 广州华多网络科技有限公司 | 一种触摸事件分发方法及设备 |
CN110989888B (zh) * | 2019-12-13 | 2021-03-02 | 广州方硅信息技术有限公司 | 一种触摸事件分发方法及设备 |
CN111596975A (zh) * | 2020-04-29 | 2020-08-28 | 五八有限公司 | 事件调用方法、装置、电子设备及存储介质 |
CN111596975B (zh) * | 2020-04-29 | 2021-07-16 | 五八有限公司 | 事件调用方法、装置、电子设备及存储介质 |
CN114385458A (zh) * | 2022-03-23 | 2022-04-22 | 苏州浪潮智能科技有限公司 | 一种基于事件总线模型的传感器监控的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106598751B (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598751A (zh) | 通过事件总线分发事件的方法及系统 | |
Miranda et al. | Appia, a flexible protocol kernel supporting multiple coordinated channels | |
CN110888722B (zh) | 任务处理方法、装置、电子设备及计算机可读存储介质 | |
CN101826987B (zh) | 一种基于融合开放网络的混合服务支撑系统及方法 | |
CN109284197B (zh) | 基于智能合约的分布式应用平台及实现方法 | |
Fiege et al. | Engineering event-based systems with scopes | |
US8687789B2 (en) | Visual designer for telephony applications | |
US11221981B2 (en) | Asynchronous channel based bus architecture enabling decoupled services | |
EP2418825A1 (en) | Method and system for generating open telecommunication service based on internet | |
KR20080064587A (ko) | 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템 | |
CN106686021A (zh) | 一种服务调用方法和网关 | |
Bo et al. | Development of Web-Telecom based hybrid services orchestration and execution middleware over convergence networks | |
González et al. | Addressing QoS issues in service based systems through an adaptive ESB infrastructure | |
US8255933B2 (en) | Method and system for reading data, related network and computer program product therefor | |
US8024746B2 (en) | Common handler framework | |
CN107103058A (zh) | 基于Artifact的大数据服务组合方法及复合服务组合方法 | |
KR20020095723A (ko) | 소프트웨어 통합 테스팅을 위한 자동화 방법 및 도구 | |
Kaur et al. | Event Driven Micro-services based Information Bot | |
Pires et al. | Mediating heterogeneous web services | |
CN110636073A (zh) | 一种分布式异步远程服务编排与调用技术 | |
Cheng et al. | HSOP: A Hybrid Service Orchestration Platform for Internet-Telephony Networks | |
Harkness et al. | An architecture for system-wide information management | |
Nurgaliyev et al. | AN ANALYSIS OF THE HETEROGENEOUS IOT DEVICE NETWORK INTERACTION IN A CYBER-PHYSICAL SYSTEM | |
AlMahamid et al. | Virtual sensor middleware: Managing IoT data for the fog-cloud platform | |
CN117527880B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |