CN1798131A - 处理代理的消息的装置和方法 - Google Patents
处理代理的消息的装置和方法 Download PDFInfo
- Publication number
- CN1798131A CN1798131A CN200510124281.2A CN200510124281A CN1798131A CN 1798131 A CN1798131 A CN 1798131A CN 200510124281 A CN200510124281 A CN 200510124281A CN 1798131 A CN1798131 A CN 1798131A
- Authority
- CN
- China
- Prior art keywords
- agency
- message
- priority
- thread
- memory
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims description 69
- 230000008569 process Effects 0.000 claims description 50
- 238000001514 detection method Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012958 reprocessing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 235000012364 Peperomia pellucida Nutrition 0.000 description 1
- 240000007711 Peperomia pellucida Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
- H04M3/5232—Call distribution algorithms
- H04M3/5235—Dependent on call type or called number [DNIS]
Landscapes
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种装置,包括:存储器;用于根据代理是否存在于存储器中以及是否存在消息,通过根据插入该代理的消息确定该代理的优先级别来管理该代理的状态的装置;用于在检测到代理有最高的优先级别的情况下,如果该代理存在于存储器中则给该代理分配线程,以及如果该代理不存在于存储器中,则在调用该代理至存储器之后为该代理分配线程的装置;以及用于重复消息处理直至满足了与被分配线程的代理相关的预定标准的消息处理装置。
Description
技术领域
本发明涉及处理大量代理(agent)的消息的一种消息处理装置、消息处理方法及消息处理程序。
背景技术
近几年来,出现了对在短时间内处理大量代理的系统的需求。例子包括这样一种系统,该系统将与火车站或类似地点的用户的各自需求匹配的信息提供给为用户准备的各自的代理。在这项服务中,当一个事先注册的用户通过车站的自动检票口时,根据该用户的需求检索有关车站近区的信息并将其传送至用户的移动终端或者类似装置。在这项服务中,通过铁路线上所有车站的自动检票口的用户可成为对象。随着在同一时间内通过自动检票口的用户数的增加,就产生了在短时间内处理大量代理的消息的需要。
根据日本专利公开No.2004-192047,为了有效地处理大量代理的消息,拥有一个高优先级别的消息的代理将比其它代理优先被处理。更进一步地,为用户准备的相应代理也根据与用户匹配的优先级别被区分及处理。而且,对于在一数据库中管理的代理,代理被缓存在一系统存储器中以便减少数据库上的访问负载。当每个代理的、存储在一消息队列中的全部消息已经被处理之后,或者当超过了被连续处理的消息的数量上限之后,开始处理下一个代理。这样,对数据库的访问被最小化。就是说,根据代理及信息的优先级来处理消息,其方式为:存在于高速缓冲存储器中的代理被给予高优先级且一个代理的消息被连续处理,由此,试图减少访问数据库的次数并加速对消息处理的速度。
在上面所述的日本专利公开No.2004-192047的技术中,拥有高优先级消息的代理被优先处理。然而,在消息处理过程中,为了减少访问数据库的次数,对于一个代理,不仅处于高优先级的消息而且处于低优先级的消息都被连续处理。因此,仅当处于低优先级的消息被处理之后,下一个代理的处于高优先级的消息才被处理。如果有大量代理同时拥有处于高优先级的消息和处于低优先级的消息,则为每个代理处理处于高优先级的消息及处于低优先级的消息。因此,因为处于低优先级的消息处理的妨碍,较后处理的代理的处于高优先级的消息的处理将被明显延迟。
例如,在车站近区信息传送服务中,延迟问题被提出。车站近区信息传送服务是指这样一种服务,其中当一张长期车票被插入自动检票口时,有关车站近区的与用户事先注册的信息类别相匹配的广告信息或交通信息被从一代理传送至用户的移动电话或类似装置。当提供这样一种服务时,存在着对于时间、地点以及需求信息的限制,例如这样的限制:广告信息或交通信息必须在这样的时间段内到达其目地的,在该时间段内用户从车站的移动距离很小;而且信息的内容必须与关于每个用户的需求信息或类似信息相一致。该服务必须被提供给许多满足以上条件的用户。对每个用户,存在执行这些过程的一个代理,而且它执行用于注册将被传送给用户的新的广告信息以及传送信息的过程。更进一步地,在注册广告时,需要根据与每个用户有关的订阅信息来过滤广告。然而,当通过自动检票口时,需要避免每次都为每个用户搜索及定制数据库这一繁重的过程。因此,每个用户具有要被传送的广告信息或类似信息。更进一步地,在这种服务中,对于当用户通过自动检票口时执行的信息传送过程,需要高速度,但是,对于诸如为每个用户注册广告信息的过程就不需要如此高的速度。
而且,类似的延迟问题也可能在这样或相似的服务中发生:其中,使用配置在用户的移动电话中的GPS或类似装置来获得用户的位置信息;而且,其中,根据用户的时间、地点以及需求,以一种精确定位的方式,将信息传送至移动电话以响应来自用户的请求。就是说,在一个拥挤的购物商场或旅游景点,除了用于注册及传送购物广告信息的过程,还可以存在用于注册及传送有关饭店或咖啡厅的座位可用性信息以响应来自用户的请求的过程。在这种情况下,用于传送信息给用户的过程就需要在这样的一个时间段内完成,在该时间段内,用户未从请求所述信息的地方离开太远,并且该过程需要高速度。另一方面,在注册的过程中,有关饭店或咖啡厅的座位可用性信息相对需要高速度。然而,用来注册有关下一个月开始的销售的广告信息是不需要高速度的。
然而,在采用上述日本专利公开NO.2004-192047的技术情况下,当注册与大范围的用户种类相匹配的广告信息时,会产生长时间的延迟。下面将给出集中于车站近区信息传送服务的描述。然而,这是一示例,而并非旨在将本发明的应用范围限制到车站近区信息传送服务。
就是说,在车站近区信息传送服务中,当用户通过自动检票口时,执行信息传送过程之后,代理随后执行一广告注册过程。考虑到众多的自动检票口在铁路线的所有车站工作,可以认为许多用户几乎同时通过自动检票口。在一些情况下,由于其他用户的代理执行的广告注册程序,随后处理的来自一用户的代理的信息传送可能被明显地延迟。
假设在这个车站近区信息传送服务中在夜晚高峰时间传送一广告,对下面的特定情况进行简单的计算:
*通过假设每个车站的自动检票口的平均数量为10个以及车站数量为50个,而假设自动检票口的数量为500个,并且假设本服务的用户为用户总数的10%。
*假设用于代理的高速缓冲存储器容量为代理总数的50%。
*假设由于处于高峰期,所有的自动检票口均为满负荷工作。
*假设当一个用户进入自动检票口时,该用户在1秒内通过,而且下一个用户立即开始进入。
*假设针对25个车站(占车站总数的一半)中的每一个注册了一个广告,而且所有用户中的半数已成为将传送已注册广告的对象。
*对于满负荷工作的系统中用于处理一个代理所需要的时间,在多个代理在同一时间被并行处理的情况下,对于相关于通过自动检票口的代理,当该代理存在于高速缓存中时,假设其CPU时间为18毫秒;对于相关于通过自动检票口的代理,当该代理没有存在于高速缓存中时,假设其CPU时间为21毫秒;以及对于相关于广告信息注册的代理,当该代理存在于高速缓存中时,假设其CPU时间为20毫秒。
*代理处理模式有以下4种:
A)代理存在于高速缓存中,并且为广告注册过程的对象
B)代理存在于高速缓存中,并且不是广告注册过程的对象
C)代理不存在于高速缓存中,并且为广告注册过程的对象
D)代理不存在于高速缓存中,并且不是广告注册过程的对象
由于高速缓存的容量为代理总数的50%,并且成为广告注册过程的对象的代理是代理总数的一半,所以每个模式的代理的数量为一秒钟内被处理的代理数量(50个代理,因为每秒有500人通过自动检票口,而其中的10%为成员)中的12.5。在这里,希望自动检票口通过过程比广告注册过程优先被处理。因此,指示通过自动检票口的消息的优先级被设定高于指示广告注册请求的消息的优先级。一代理调度器选择存在于高速缓存中的一代理,为之执行自动检票口通过过程,并随后为该代理执行广告注册过程。当等待指示通过自动检票口的消息的代理已经从该高速缓存中消失后,将一未存在于高速缓存中的代理读入高速缓存,执行自动检票口通过过程,并随后为该代理执行广告注册过程。
为完成存在于高速缓存中的所有代理的处理所需的时间为:
12.5×18ms+12.5×(18ms+20ms)=700ms,
以及为完成未存在于高速缓存中的所有代理的处理所需的时间为:
12.5×21ms+12.5×(21ms+20ms)=775ms。
它们的和为1475毫秒,比1秒超出了475毫秒。当超过一秒时,下一个用户进入自动检票口,并因此指示通过自动检票口的新消息一个接一个地到达系统。接下来,所述代理调度器再次处理存在于高速缓存中的代理。未在前面1秒内被处理的代理(这些代理未存在于高速缓存中)的处理就被延迟。由于用户一个接一个地通过自动检票口,未能被处理的代理将积累起来。这就意味着广告无法到达一些用户。如上所述,在多种优先级的消息混合在一起的情况下,就不能在合适的时间内处理需要快速响应的过程。
发明内容
因此,本发明的目的是提供这样一种消息处理装置、一种消息处理方法以及一种消息处理程序,其可以处理大量代理的消息并且可以解决上述的问题。
为了解决上述问题,本发明提供了一种装置,它包括:存储器;用于通过根据插入代理的消息确定该代理的优先级别,来根据该代理是否存在于存储器中以及是否存在消息,来管理该代理的状态的装置;用于则在检测到该代理有最高的优先级的情况下,如果该代理存在于存储器中则给该代理分配一线程,以及如果该代理不存在于存储器中,在调用该代理至存储器之后为该代理分配一线程的装置;以及用于重复消息处理直至满足与被分配线程的代理相关的预定标准的消息处理装置。拥有高优先级消息的代理被分配一线程,而且该代理处理消息直至满足所述预定标准,由此高优先级消息的处理被加速而访问数据库(盘)的次数被减少。
需要注意的是,上述本发明的概述并未列出本发明必须的全部特征,并且这些特征的组合也可以包括在本发明中。
附图说明
为更完整地理解本发明及其优点,现在结合附图参考下面的描述。
图1示出了一消息处理系统的示意图;
图2示出了该消息处理系统的硬件配置的一个示例;
图3示出了该消息处理系统示意图的一个示例;
图4示出了该消息处理系统的功能配置的一个示例;
图5示出了表示代理的状态的变量值的示例;
图6示出了一种用来管理代理的优先级别及其状态的机制的一个示例;
图7示出了一控制块(ControlBlock)的数据结构的一个示例;
图8示出了代理的状态转换的一个示例;
图9示出了通过插入消息来更新代理的状态的流程的一个示例;
图10为一操作流程,其示出了为代理分配线程的流程的一个示例;
图11示出了用于处理消息的流程的一个示例;
图12示出了用来管理代理的优先级别及其状态的机制的修改的示例的一个示例。
具体实施方式
下文将通过本发明的一具体实施例来描述本发明。然而,以下实施例非旨在限制与权利要求的范围相应的本发明,且在实施例中描述的特征的所有组合对于解决本发明的方法并非不可缺少。
图1示出了将本发明应用到车站近区信息传送服务的情况的示例。配置10给出了服务提供的略图。网络11为包括因特网、电话线及其它网络的通讯网络。根据本发明的消息处理系统12、用户广告信息数据库13、车站自动检票口14、信息接收终端15以及信息注册终端16通过网络11相互发送和接收数据及各种信息。被用户通过车站自动检票口14或其它事件所触发,消息处理系统12在用户广告信息数据库13中检测对每个用户最优化的广告信息,并将检测到的广告信息作为被传送信息传送到相关的信息接收终端15。此外,信息注册终端16用于注册车站近区信息,如交通信息和广告信息。该车站近区信息由消息处理系统12为每个用户进行选择和编辑,并注册到用户广告信息数据库13中。
每个用户预先注册与该用户自己喜好相关以及与该用户特别感兴趣的事情相关的关键词。这些关键词的例子包括“个人计算机及外围设备”、“家具”、“鲜花”、“衣服”以及“附件”。另一方面,沿铁路线的车站近区的商店注册广告信息。这些广告信息根据每个用户的关键词进行筛选,并为每个用户注册到用户广告信息数据库13中。在注册时,广告信息也为每个用户根据需要进行定制。当一个将“衣服”注册为关键词的用户下火车并通过车站自动检票口14时,就会将该信息发送给消息处理系统。当用户通过车站自动检票口时,可以通过辨认其上带有ID的长期车票或类似物件将该用户识别出来。如果有与用户下车的车站相关的关于衣服的广告信息,则该消息处理系统12根据事件信息把一消息插入到相关用户的代理的队列中。当这一消息被代理处理后,用户使用信息接收终端15接收该信息。信息接收终端15包括移动电话、PDA、以及笔记本个人计算机,但并不限于此,只要该设备具有接收信息的功能即可。
此外,当广告者等从信息注册终端16输入广告信息时,信息被发送到消息处理系统12。消息处理系统12根据事件信息将消息插入到用户的代理队列中。例如,如果该广告信息是关于“附件”的,则该广告信息将被注册到用户广告信息数据库13的这样的用户记录中,其中词“附件”被注册为关键词。处理该消息就是注册为每个用户定制的与附件相关的该广告信息。此外,除了广告信息,交通信息及其类似信息也被注册到用户广告信息数据库13中。
图2是消息处理系统的硬件配置20的略图。CPU 201,其为中央处理单元,在各种操作系统的控制下执行不同程序。CPU 201通过总线202与存储器203、盘204、显示适配器205、用户接口206、和网络接口207互连。CPU 201通过用户接口206连接到键盘209及鼠标210,通过显示适配器205连接到显示器208,并通过网络接口207连接到网络。存储器203包括主存储器和高速缓冲存储器。高速缓冲存储器也用来缓存代理和消息。硬盘204用来注册代理数据库和订阅表。这仅仅是计算机系统和总线安排的一个实施例的示例。本发明的特征可被用于多种系统配置,用于具有多个相同部件的实施例,以及用于分布在网络上的实施例。
图3示意地示出代理处理系统300;301为客户机,302为消息中介(broker),303为消息解析器,304为消息机制,305为订阅表,306为高速缓冲存储器,以及307为代理数据库。消息中介302的作用是执行与客户交换多种信息相关的通讯,并且事件信息由消息解析器303接收。然后,消息解析器303在订阅表305中检测与该事件信息对应的代理信息,并根据代理信息将一对应的消息插入到消息队列中。此外,该代理处理系统将代理读取到高速缓冲存储器306中,将代理从高速缓冲存储器306中删除以及给代理分配线程。
图4示意性地示出消息处理装置的功能。线程分配装置401由代理管理装置402管理以分配线程404。消息处理装置403处理代理的消息直到满足一预定的标准。线程分配装置401不仅能将线程分配给存在于高速缓冲存储器306中的代理,还可以从数据库307中调用代理到高速缓冲存储器中以为该代理分配线程。代理管理装置402根据代理所拥有的消息的优先级别和代理是否存在于高速缓冲存储器中来调度线程分配。调度机制将参考图5~12进行详细的描述。
图5示出了指示代理的状态的变量值的示例。这些变量值被应用于管理代理的机制中,该机制在图6中示出并将在后面进行描述。指示代理的状态的变量包括RUNNING,IN_FILLED,IN_EMPTY,OUT_FILLED,OUT_EMPTY,以及MAX_PRI_FILLED。RUNNING指示代理被分配了一线程。IN_FILLED指示代理在高速缓冲存储器中且在消息队列中有消息。IN_EMPTY指示代理在高速缓冲存储器中且消息队列为空。OUT_FILLED指示代理不在高速缓冲存储器中且消息队列中有消息。OUT_EMPTY指示代理不在高速缓冲存储器中且消息队列为空。MAX_PRI_FILLED指示代理有一处于最高优先级别的消息。
图6示出了用于根据代理所拥有的消息的优先级别来管理状态的机制。举例来说,优先级别有0-3,且还有MAX_PRI_FILLED,其为比3更高的最高的优先级别。对于优先级别为0-3,有RUNNING,IN_FILLED,IN_EMPTY,OUT_FILLED,OUT_EMPTY。对于MAX_PRI_FILLED,代理是否在存储器中并没有区别。其目的是将代理的状态设置为MAX_PRI_FILLED并当代理有一处于最高优先级别的消息时给予该代理的处理高的优先级而不考虑该代理是否存在于存储器中。
图7示出了图6的控制块(ControlBlock)的数据结构。表701示出了在代理键(AgentKey)和控制块之间的一一对应。代理键用来识别代理并以一对一的关系对应于各自的传送目的地(用户)。在图7的表701中,代理键由个人姓名(Mike、Tom以及Eric)来代表。每个控制块702包含“MessageQueue queue”、“ControlBlock prev”、“ControlBlock next”、“byte state”以及“String type”。“MessageQueue queue”代表关于它所相关的消息队列的数据。“ControlBlock prey”代表关于它所连接的前一个控制块的数据。“ControlBlock next”代表关于它所连接的后一个控制块的数据。“byte state”代表它当前所处的状态(IN_FILLED、IN-EMPTY等)。“String type”代表字符串类型的数据。
图8示出了代理的状态转换。代理的状态转换是根据该图更新的。在这种状态转换中,当代理在状态IN_FILLED、IN_EMPTY、OUT_FILLED或OUT_EMPTY中接收到最高优先级别的消息时,代理的状态变为MAX_PRI_FILLED。一旦线程可用,则该代理将被优先分配该线程并改变为RUNNING状态。
图9示出了用于通过插入消息而更新代理的状态的流程。当在步骤901中接收到一消息时,在步骤902中判断该接收到的消息在该代理拥有的消息中是否处于最高的优先级别。如果判断接收到的消息没有处于最高的优先级别,则该更新过程退出。如果判断接收到的消息在当前该代理拥有的消息中处于最高的优先级别,则转至步骤903。在步骤903中,判断该消息的优先级别是否为最高优先级别。如果该优先级别为最高优先级别,则在步骤904中,代理的状态被更新为MAX_PRI_FILLED从而指示最高优先级别,用于连接控制块的过程也被更新,且该过程退出。如果该优先级别不是最高优先级别,则在步骤905中判断接收到的消息的优先级别。此时,也更新用于连接控制块的过程。接下来,在步骤906中,判断该代理是否已经有消息,即,是否其状态为图8中OUT_FILLED和IN_FILLED其中之一。如果代理已经有消息,则代理的状态被更新为OUT_FILLED或IN_FILLED状态且其取决于代理的优先级别,用于连接控制块的过程也被更新,且该过程退出。另一方面,如果该代理尚未有消息,则在步骤907中,代理的状态将根据图8中的“接收到消息”更新为OUT_FILLED或IN_FILLED的状态且其取决于该代理的优先级别,用于连接控制块的过程也被更新,且该过程退出。
图10示出了用于将线程分配给代理的流程。在步骤1001中,判断是否存在具有MAX_PRI_FILLED的消息的代理。如果判断没有这样的消息,则在步骤1002中判断是否有IN_FILLED的消息。如果判断没有这样的消息,则在步骤1003中判断是否有OUT_FILLED的消息。如果判断没有这样的消息,则返回到开始。在步骤1001、1002和1003中,最优先处理的消息是MAX_PRI_FILLED的消息,而次之最优先处理消息的是存在于高速缓冲存储器中的代理所拥有的消息。就是说,IN_FILLED被给予高的优先级。其目的是减少将代理调用到高速缓冲存取器中的次数以及减少对数据库的访问,以及为了处理处于高优先级别的消息。此外,当代理在是否在高速缓冲存储器方面处于相同状态时,具有处于更高优先级别的消息的代理可优先被分配线程。如果在步骤1001、1002和1003中判断为有一代理(是),则在步骤1004中判断是否有可用线程。如果有可用线程,则在步骤1005中代理被分配线程。附带地说,如果该代理没有在高速缓冲存储器中,则该代理将被调用至高速缓冲存储器中并被分配线程。如果没有可用线程,则返回到开始。如果没有可用线程,则该代理可以等待直到线程可用,并被分配线程。
图11示出了用于处理消息的流程。该过程是在图10中分配线程的步骤1005后进行的。在步骤1101中,该代理处理消息。这些消息是从处于更高优先级别的消息开始处理的。在步骤1102中,判断该代理是否仍有未处理的消息。如果判断为没有消息,则根据图8中的状态转换在步骤1103中执行到IN_EMPTY或OUT_EMPTY的更新。在此之后,在步骤1106中,线程被释放。如果在步骤1102中判断为仍有消息,则在步骤1104中,判断是否已经处理消息直至满足预定的标准。该预定的标准是,例如,对由该代理拥有的所有处于最高优先级别的消息的处理已完成,每个代理的连续处理的消息的数目,以及所有优先级别为2或更高的消息已被处理。该处理标准可以根据在消息队列中未处理消息的数目或者诸如乘车的时间的情形被动态地改变。如果在步骤1104中判断为还没有处理消息直到预定的标准被满足,则返回步骤1101以重复消息处理。另一方面,如果判断为消息已被处理直到预定的标准被满足,则在步骤1105中,该代理被更新为剩余的消息中的最高优先级别。然后,在步骤1106中,该线程被释放。
图12为图6中所示的用于管理代理的优先级别和状态的机制的修改的例子。在图6中,优先级别为0-3且最高优先级别为MAX_PRI_FILLED。而在图12中示出了存在最低优先级别MIN的情形。在这种情况下,连续地处理代理的消息。如果下一个将被处理的消息处于最低的优先级别MIN,则不处理该代理的消息。该代理的优先级别被设置为MIN且其它代理被处理。在图11中的步骤1105中,将处理处于优先级别高于MIN的消息设置为所述预定标准。这样一来,具有更高优先级别的消息的代理的处理被加速。附带地说,在最低优先级别MIN,与在其它优先级别0-3中一样,有状态IN_FILLED,IN_EMPTY,OUT_FILLED和OUT_EMPTY。
虽然以上使用一实施例对本发明进行了描述,本发明的技术范围并不限于实施例中所描述的范围。对本领域的技术人员来说明显的是,可以对上述实施例进行不同的修改和改进。从对权利要求的范围的描述可以明显地看到,修改和改进的实施例也可以被包括在本发明的技术范围中。
虽然本发明的优选实施例已被详细描述,应当理解,可以在不脱离附后的权利要求所定义的本发明的精神和范围的情况下进行多种改变、替代和更替。
Claims (20)
1.一种装置,包括:
存储器;
用于根据代理是否存在于该存储器中以及是否存在消息,通过根据插入代理的消息确定代理的优先级别来管理代理的状态的装置;
用于在已检测到具有最高优先级别的该代理的情况下,如果该代理存在于存储器中,则给该代理分配线程,以及如果该代理不存在于存储器中,则在调用该代理至存储器之后给该代理分配线程的装置;以及
用于重复消息处理直至满足了与已被分配线程的该代理相关的预定标准的消息处理装置。
2.根据权利要求1的装置,其中在未检测到具有最高优先级别的代理的情况下,所述用于分配线程的装置进一步将线程优先分配给已经存在于所述存储器中的代理而不是未存在于该存储器中的代理。
3.根据权利要求1的装置,其中,所述预定标准根据情况动态改变。
4.根据权利要求1的装置,其中,所述预定标准为,已为一个代理处理了预定数量的消息。
5.根据权利要求4的装置,其中,所述用于管理代理的状态的装置进一步包括:用于在消息被处理后,根据剩余消息中的具有最高优先级别的消息确定该代理的优先级别。
6.根据权利要求1的装置,其中,所述预定标准为,具有除最低优先级别之外的优先级别的消息均已被处理。
7.一种用于处理代理的消息的方法,包括以下步骤:
根据代理是否存在于存储器中以及是否存在消息,通过根据插入代理的消息确定代理的优先级别来管理代理的状态;
在检测到具有最高的优先级别的代理的情况下,如果该代理存在于该存储器中,则给该代理分配线程,以及如果该代理不存在于该存储器中,则在调用该代理至该存储器后为该代理分配线程;以及
重复消息处理直至满足了与已被分配线程的代理相关的预定标准。
8.根据权利要求7的用于处理代理的消息的方法,其中所述分配线程的步骤进一步包括:在未检测到具有最高优先级别的代理的情况下,将线程优先分配给已经存在于所述存储器中的代理而非未存在于该存储器中的代理。
9.根据权利要求8的用于处理代理的消息的方法,其中在所述分配线程的步骤中,如果在代理是否存在于所述存储器中这一方面,代理处于相同的状态,则具有更高优先级别的消息将优先被分配线程。
10.根据权利要求7的用于处理代理的消息的方法,其中,所述预定标准为,为一个代理已处理了预定数量的消息。
11.根据权利要求10的用于处理代理的消息的方法,其中,所述管理代理的状态的步骤进一步包括:在消息被处理后,根据剩余消息中的具有最高优先级别的消息确定该代理的优先级别的步骤。
12.根据权利要求7的用于处理代理的消息的方法,其中,所述预定标准为,具有除最低优先级别之外的优先级别的消息均已被处理。
13.一种用于处理代理的消息的方法,包括以下步骤:
判断代理的消息是否具有最高的优先级别;
当该消息处于最高优先级别时,管理该代理的状态以使之处于最高优先级别;
检测具有最高优先级别消息的代理;
将线程分配给具有最高优先级别消息的该代理;
由该代理处理该消息;
判断是否该代理已处理消息直至满足了预定标准;并在消息已经被处理直至满足了该预定标准的情况下,释放该线程。
14.根据权利要求13用于处理代理的消息的方法,其中,所述分配线程的步骤进一步包括:在仅检测到具有除最高优先级别之外的优先级别的代理的情况下,将线程优先分配给已经存在于所述存储器中的代理。
15.根据权利要求14用于处理代理的消息的方法,其中,在所述分配线程的步骤中,如果在代理是否存在于所述存储器中这一方面,代理处于相同的状态,则具有更高优先级别的消息将优先被分配线程。
16.根据权利要求13用于处理代理的消息的方法,其中,所述预定标准为,为一个代理所处理的消息的预定数量。
17.根据权利要求16用于处理代理的消息的方法,其中所述管理代理的状态的步骤进一步包括:在消息被处理后,根据剩余消息中的具有最高优先级别的消息确定代理的优先级别的步骤。
18.根据权利要求13的用于处理代理的消息的方法,其中,所述预定标准为,具有除最低优先级别之外的优先级别的消息均已被处理。
19.一种用于使得计算机执行实现根据权利要求7~18中任何一个的方法的步骤的程序。
20.一种其上记录有根据权利要求19中的程序的记录介质。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004380864A JP4667859B2 (ja) | 2004-12-28 | 2004-12-28 | エージェントの、メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラム |
JP380864/2004 | 2004-12-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1798131A true CN1798131A (zh) | 2006-07-05 |
CN100581155C CN100581155C (zh) | 2010-01-13 |
Family
ID=36611526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510124281A Active CN100581155C (zh) | 2004-12-28 | 2005-11-29 | 处理代理的消息的装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7421703B2 (zh) |
JP (1) | JP4667859B2 (zh) |
CN (1) | CN100581155C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2824469A1 (en) * | 2011-02-14 | 2012-08-23 | Telefonaktiebolaget L M Ericsson (Publ) | Message delivery management |
US9843550B2 (en) * | 2015-11-29 | 2017-12-12 | International Business Machines Corporation | Processing messages in a data messaging system using constructed resource models |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490611B1 (en) * | 1999-01-28 | 2002-12-03 | Mitsubishi Electric Research Laboratories, Inc. | User level scheduling of inter-communicating real-time tasks |
US7356820B2 (en) * | 2001-07-02 | 2008-04-08 | International Business Machines Corporation | Method of launching low-priority tasks |
JP3864251B2 (ja) * | 2002-12-06 | 2006-12-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラム |
US7509650B2 (en) * | 2004-05-20 | 2009-03-24 | International Business Machines Corporation | Enhance browsing of messages in a message queue |
-
2004
- 2004-12-28 JP JP2004380864A patent/JP4667859B2/ja not_active Expired - Fee Related
-
2005
- 2005-11-29 CN CN200510124281A patent/CN100581155C/zh active Active
- 2005-12-28 US US11/319,893 patent/US7421703B2/en not_active Expired - Fee Related
-
2008
- 2008-06-23 US US12/143,976 patent/US7865903B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7421703B2 (en) | 2008-09-02 |
US20060140388A1 (en) | 2006-06-29 |
US7865903B2 (en) | 2011-01-04 |
JP4667859B2 (ja) | 2011-04-13 |
JP2006185363A (ja) | 2006-07-13 |
CN100581155C (zh) | 2010-01-13 |
US20080263567A1 (en) | 2008-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1251138C (zh) | 下载/访问网络基本内容期间提供本地存储器上附属内容的方法和系统 | |
US7610343B2 (en) | Presence data management method | |
KR100243637B1 (ko) | 고-가용성 컴퓨터 서버 시스템 | |
AU2003210950B2 (en) | Dynamic service binding providing transparent switching of information services having defined coverage regions | |
CN1298147A (zh) | 向虚拟主机提供服务品质保证的技术 | |
US20010029519A1 (en) | Resource allocation in data processing systems | |
US20100268821A1 (en) | Sequenced transmission of digital content items | |
CN1791092A (zh) | 多层数据处理系统网络中用于连接容量再指派的系统和方法 | |
CN101080040A (zh) | 向通讯设备发送基于特定地理位置的广告的方法和设备 | |
CN1791020A (zh) | 用于多层网络中的数据排队优先级区分的方法和系统 | |
CN1286426A (zh) | 使用远程java对象分配程序的方法 | |
CN1748402A (zh) | 移动电话应用平台 | |
CN1791019A (zh) | 跨越多层网络中的多个节点传输请求优先级的系统和方法 | |
CN1901695A (zh) | 使用vm应用程序的短消息管理系统与移动通信终端 | |
US20020105924A1 (en) | Apparatus and methods for managing queues on a mobile device system | |
CN116453519A (zh) | 语音存取车方法、设备、系统及存储介质 | |
CN1791105A (zh) | 控制到客户机的数据传送及更新数据的执行的方法 | |
CN1829200A (zh) | 用于在网络处理器中记帐的装置和方法 | |
CN1764217A (zh) | 用于分配vxml能力以便在客户设备上执行的系统 | |
CN1208939C (zh) | 一种网络呼叫处理方法 | |
CN1798131A (zh) | 处理代理的消息的装置和方法 | |
CN101068375A (zh) | 实现短消息增值业务的系统、平台及方法 | |
CN1714539A (zh) | 用于多播分布多媒体消息传送业务消息的系统和方法 | |
CN1149795C (zh) | 下一代网络业务和智能数据网路由器的高级业务体系结构 | |
CN1130926C (zh) | 一种在无线选择呼叫接收机中的消息管理的装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |