一种中间件与用户界面之间的消息传递方法和系统的制作方法

文档序号:7823930阅读:256来源:国知局
一种中间件与用户界面之间的消息传递方法和系统的制作方法
【专利摘要】本发明公开了一种中间件与用户界面之间的消息传递方法及系统,该方法包括:接收到中间件传递的多个消息后,获取每个消息对应的消息配置表;分别根据每个消息对应的消息配置表中的过滤模式对该消息进行处理,进而将该消息传递至对应的用户界面和/或进行缓存;针对每个缓存的消息,分别根据该消息对应的消息配置表中的优先级对其进行处理,最后将所有缓存的消息按优先级顺序传递至用户界面;针对中间件传递的所有消息,分别根据每个消息对应的消息配置表中的删除模式对其进行删除处理。本发明让多个消息的传递步骤更加有序,让多个消息的处理变得更加统一,而且传递过程中的管理方法比较简便,可广泛应用于各种中间件与用户界面的消息传递领域。
【专利说明】一种中间件与用户界面之间的消息传递方法和系统

【技术领域】
[0001]本发明涉及消息传递技术,尤其涉及一种中间件与用户界面之间的消息传递方法及系统。

【背景技术】
[0002]随着数字电视的普及,机顶盒进入了千家万户,不仅成为了人们日常生活中必不可少的数字电视接收终端,更是被定义成家庭娱乐中心的载体。因为功能越来越多,所需的用户界面也越来越复杂。不少公司倾向于采用跨平台的图形用户界面开发框架来实现其用户界面,而在业务功能的实现上则采用中间件软件。
[0003]中间件是基础软件的一大类,属于可复用软件的范畴,它处于操作系统软件和应用软件的中间,能够屏蔽操作系统的复杂性为应用程序提供一个相对稳定的高层应用环境。中间件能够为应用程序提供多种通信机制,为了使通信接口尽可能地通用,在现有技术中,中间件与用户界面的通信一般是通过消息管道来实现的。
[0004]基于消息管道,能可靠地将中间件的消息传递至用户界面,然而当中间件有多个消息需要同时传递给用户界面时,将会出现消息冲突和覆盖的现象,比如,在机顶盒的应用中,当“没有信号”的消息和“USB设备插入”的消息同时生成时,将会面临消息显示顺序的问题,前者是持续的,而后者是瞬间的,持续的消息如何恢复也是重要问题。而且,机顶盒的消息通常较多,特别是加入CA的功能后,消息数量进一步增多,目前技术中,还无法有序地协调各个消息的传递步骤,对各个消息的处理也难以统一,消息的管理较为繁琐。


【发明内容】

[0005]为了解决上述技术问题,本发明的目的是提供一种能解决多个消息同时传递至用户界面时出现的消息冲突和覆盖问题的中间件与用户界面之间的消息传递方法。
[0006]为了解决上述技术问题,本发明的目的是提供一种能解决多个消息同时传递至用户界面时出现的消息冲突和覆盖问题的中间件与用户界面之间的消息传递系统。
[0007]本发明所采用的技术方案是:
一种中间件与用户界面之间的消息传递方法,其包括步骤:
51、接收到中间件传递的多个消息后,获取每个消息对应的消息配置表;
52、分别根据每个消息对应的消息配置表中的过滤模式对该消息进行处理,进而将该消息传递至对应的用户界面和/或进行缓存;
53、针对每个缓存的消息,分别根据该消息对应的消息配置表中的优先级对其进行处理,最后将所有缓存的消息按优先级顺序传递至用户界面;
54、针对中间件传递的所有消息,分别根据每个消息对应的消息配置表中的删除模式对其进行删除处理。
[0008]优选的,所述步骤S2具体包括子步骤:
S21、分别根据每个消息对应的消息配置表中的过滤模式的具体内容,分别执行S22及S23 ;
522、对于过滤模式为按菜单列表通过的消息,将该消息传递至菜单列表中存在的用户界面;

对于过滤模式为按菜单列表滤除的消息,将该消息传递至菜单列表中不存在的用户界面;
523、对于过滤模式为按优先级过滤的消息,将该消息进行缓存;

对于过滤模式为不过滤的消息,将该消息直接传递至所有的用户界面。
[0009]优选的,所述步骤S3具体包括子步骤:
531、针对每个缓存的消息,根据该消息对应的消息配置表中的优先级的具体内容,对应执行步骤S32~S34中的任一步骤;
532、对于优先级为最高优先级的消息,将该消息首先传递至用户界面;
533、对于优先级为默认优先级的消息,根据该消息对应的消息配置表的自然顺序将该消息传递至用户界面;
534、对于优先级为最低优先级的消息,将该消息最后传递至用户界面。
[0010]优选的,所述步骤S4具体包括子步骤:
541、针对中间件传递的所有消息,根据每个消息对应的消息配置表中的删除模式的具体内容,对应执行步骤S42~S44中的任一步骤;
542、对于删除模式为自动删除的消息,将该消息直接删除;
543、对于删除模式为手动删除的消息,将该消息保留,直到接收到用户界面实时传递的控制指令后进行对应操作;
544、对于删除模式为不删除的消息,将该消息保留,直到有新的消息将该消息覆盖。
[0011]优选的,所述步骤S43中所述直到接收到用户界面实时传递的控制指令后进行对应操作的步骤,其具体为:
直到接收到用户界面实时传递的消息删除指令后将该消息删除;

直到接收到用户界面实时传递的消息重发指令后将该消息重新传递至用户界面;

直到接收到用户界面实时传递的消息查询指令后将该消息的查询结果传递至用户界面。
[0012]优选的,还包括以下步骤:
实时判断是否接收到用户界面传递的修改消息配置表的指令,若是,则对应地对消息配置表进行修改;
和/或
实时判断是否接收到用户界面传递的清空缓存消息的指令,若是,则将所有缓存的消息清除。
[0013]本发明所采用的另一技术方案是:
一种中间件与用户界面之间的消息传递系统,用于实施一种中间件与用户界面之间的消息传递方法,包括:
消息配置模块,用于存储多个与消息一一对应的消息配置表,所述消息配置表包括消息标识、优先级、删除模式、过滤模式及菜单列表;
消息处理模块,用于根据消息配置模块中的消息配置表将中间件传递的消息进行相应处理后传递至用户界面;
消息管理模块,用于对消息配置模块和消息处理模块进行参数配置和/或参数查询。
[0014]优选的,所述优先级最高优先级、默认优先级以及最低优先级,所述过滤模式包括按菜单列表通过、按菜单列表过滤、按优先级过滤和不过滤,所述删除模式包括不删除、自动删除及手动删除。
[0015]优选的,所述消息处理模块包括:
输入子模块,用于接收中间件传递的消息;
消息处理子模块,用于根据消息配置模块中的消息配置表将中间件传递的消息进行相应处理;
消息管理缓存空间,用于在消息处理子模块进行消息处理的过程中对消息进行缓存; 输出子模块,用于将消息处理子模块处理后的消息传递到用户界面。
[0016]优选的,所述消息管理模块包括重配置函数、消息清空函数、消息删除函数、消息重发函数、消息查询函数。
[0017]本发明的有益效果是:
本发明的一种中间件与用户界面之间的消息传递方法,接收到中间件传递的多个消息后,获取每个消息对应的消息配置表,然后分别根据每个消息对应的消息配置表中的过滤模式对该消息进行处理,进而将该消息传递至对应的用户界面和/或进行缓存,再针对每个缓存的消息,分别根据该消息对应的消息配置表中的优先级对其进行处理,最后将所有缓存的消息按优先级顺序传递至用户界面,最后针对中间件传递的所有消息,分别根据每个消息对应的消息配置表中的删除模式对其进行删除处理,让多个消息的传递步骤更加有序,让多个消息的处理变得更加统一,而且消息传递过程中的管理方法比较简便,解决了多个消息同时传递至用户界面时出现的消息冲突和覆盖问题。
[0018]本发明可广泛应用于各种中间件与用户界面的消息传递领域。
[0019]本发明的另一个有益效果是:
本发明的一种中间件与用户界面之间的消息传递系统,在接收到中间件传递的多个消息后,通过消息处理模块根据消息配置模块中的消息配置表将中间件传递的消息进行相应处理后传递至用户界面,让多个消息的传递步骤更加有序,让多个消息的处理变得更加统一,而且消息传递过程中的管理方法比较简便,解决了多个消息同时传递至用户界面时出现的消息冲突和覆盖问题。
[0020]本发明可广泛应用于各种中间件与用户界面的消息传递领域。

【专利附图】

【附图说明】
[0021]下面结合附图对本发明的【具体实施方式】作进一步说明:
图1是本发明的一种中间件与用户界面之间的消息传递方法对应的流程图;
图2是本发明的一种中间件与用户界面之间的消息传递系统的结构示意图; 图3是一种中间件与用户界面之间的消息传递系统的消息处理模块的结构示意图;
图4是本发明的一种中间件与用户界面之间的消息传递系统的消息配置模块的一消息配置表项的结构不意图。

【具体实施方式】
[0022]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0023]实施例一
参照图1,本发明提供了一种中间件与用户界面之间的消息传递方法,其包括步骤:
51、接收到中间件传递的多个消息后,获取每个消息对应的消息配置表;
52、分别根据每个消息对应的消息配置表中的过滤模式对该消息进行处理,进而将该消息传递至对应的用户界面和/或进行缓存;
53、针对每个缓存的消息,分别根据该消息对应的消息配置表中的优先级对其进行处理,最后将所有缓存的消息按优先级顺序传递至用户界面;
54、针对中间件传递的所有消息,分别根据每个消息对应的消息配置表中的删除模式对其进行删除处理。
[0024]优选的,所述步骤S2具体包括子步骤S21~S23:
521、分别根据每个消息对应的消息配置表中的过滤模式的具体内容,分别执行S22及
S23 ;
522、对于过滤模式为按菜单列表通过的消息,将该消息传递至菜单列表中存在的用户界面;

对于过滤模式为按菜单列表滤除的消息,将该消息传递至菜单列表中不存在的用户界面;
523、对于过滤模式为按优先级过滤的消息,将该消息进行缓存;

对于过滤模式为不过滤的消息,将该消息直接传递至所有的用户界面。
[0025]步骤S2中,因为过滤模式包括按菜单列表通过、按菜单列表过滤、按优先级过滤和不过滤四种模式,因此执行时将会有不同的组合方式,当过滤模式为按菜单列表通过以及按优先级过滤的组合时,先执行按菜单列表通过所对应的处理,再执行按优先级过滤所对应的处理,同样的,当过滤模式为按菜单列表过滤和按优先级过滤的组合时,先执行按菜单列表过滤所对应的处理,再执行按优先级过滤所对应的处理,以此类推。因此本步骤进行归纳后,执行时,先执行步骤S22再执行步骤S23,即包括了所有执行情况。
[0026]优选的,所述步骤S3具体包括子步骤S31~S34:
531、针对每个缓存的消息,根据该消息对应的消息配置表中的优先级的具体内容,对应执行步骤S32~S34中的任一步骤;
532、对于优先级为最高优先级的消息,将该消息首先传递至用户界面;
533、对于优先级为默认优先级的消息,根据该消息对应的消息配置表的自然顺序将该消息传递至用户界面; S34、对于优先级为最低优先级的消息,将该消息最后传递至用户界面。
[0027]优选的,所述步骤S4具体包括子步骤S41~S44:
541、针对中间件传递的所有消息,根据每个消息对应的消息配置表中的删除模式的具体内容,对应执行步骤S42~S44中的任一步骤;
542、对于删除模式为自动删除的消息,将该消息直接删除;
543、对于删除模式为手动删除的消息,将该消息保留,直到接收到用户界面实时传递的控制指令后进行对应操作;
544、对于删除模式为不删除的消息,将该消息保留,直到有新的消息将该消息覆盖。
[0028]其中,优选的,所述步骤S43中所述直到接收到用户界面实时传递的控制指令后进行对应操作的步骤,其具体为:
直到接收到用户界面实时传递的消息删除指令后将该消息删除;

直到接收到用户界面实时传递的消息重发指令后将该消息重新传递至用户界面;

直到接收到用户界面实时传递的消息查询指令后将该消息的查询结果传递至用户界面。
[0029]优选的,本方法还包括以下步骤:
实时判断是否接收到用户界面传递的修改消息配置表的指令,若是,则对应地对消息配置表进行修改;
和/或
实时判断是否接收到用户界面传递的清空缓存消息的指令,若是,则将所有缓存的消息清除。
[0030]本发明的一种中间件与用户界面之间的消息传递方法,接收到中间件传递的多个消息后,根据消息配置表将中间件传递的消息进行相应处理后传递至用户界面,让多个消息的传递步骤更加有序,让多个消息的处理变得更加统一,而且消息传递过程中的管理方法比较简便,解决了多个消息同时传递至用户界面时出现的消息冲突和覆盖问题。
[0031]本发明可广泛应用于各种中间件与用户界面的消息传递领域。
[0032]实施例二
参照图2,一种中间件与用户界面之间的消息传递系统,用于实施一种中间件与用户界面之间的消息传递方法,包括:
消息配置模块,用于存储多个与消息一一对应的消息配置表,所述消息配置表包括消息标识、优先级、删除模式、过滤模式及菜单列表;参照图4,消息配置表的结构如下:消息配置表项(消息标识、优先级、删除模式、过滤模式、菜单列表);
即消息配置模块的结构为:
消息配置表项I (消息标识1、优先级、删除模式、过滤模式、菜单列表);
消息配置表项2 (消息标识2、优先级、删除模式、过滤模式、菜单列表);
消息配置表项η (消息标识η、优先级、删除模式、过滤模式、菜单列表);
消息处理模块,用于根据消息配置模块中的消息配置表将中间件传递的消息进行相应处理后传递至用户界面,具体地,实施例一的一种中间件与用户界面之间的消息传递方法的主要执行步骤均是消息处理模块执行的;
消息管理模块,用于对消息配置模块和消息处理模块进行参数配置和/或参数查询。
[0033]优选的,所述优先级最高优先级、默认优先级以及最低优先级,所述过滤模式包括按菜单列表通过、按菜单列表过滤、按优先级过滤和不过滤,所述删除模式包括不删除、自动删除及手动删除,所述菜单列表为一个或多个菜单标识的组合,其序号为自然数升序,例如菜单标识1、菜单标识2、菜单标识3、菜单标识η。
[0034]默认优先级是指,按消息标识的自然序数分配给消息的优先级,指定为序数越小其优先级越高;
最高优先级是指,不管消息的默认优先级,具有最先被消息处理模块处理的特征;
最低优先级是指,不管消息的默认优先级,具有最后被消息处理模块处理的特征。
[0035]不删除是指,消息被消息处理模块处理完后被保留,直到有新的消息将它覆盖;
自动删除是指,消息被消息处理模块处理完后即被删除;
手动删除是指,消息被消息处理模块处理完后被保留,由用户界面调用工具函数删除、重发或查询等。
[0036]不过滤是指,消息不进入消息处理模块内部,直接发送给用户界面;
按菜单列表通过是指,消息只发送给消息配置表中的菜单列表指定之内的用户界面;按菜单列表滤除是指,消息只发送给消息配置表中的菜单列表指定之外的用户界面;按优先级过滤是指,消息按照消息配置表中指定的优化级来过决定发送给用户界面的顺序。
[0037]优选的,参照图3,所述消息处理模块包括:
输入子模块,用于接收中间件传递的消息;
消息处理子模块,用于根据消息配置模块中的消息配置表将中间件传递的消息进行相应处理;消息处理子模块是执行实施例一的消息传递方法的核心部件;
消息管理缓存空间,用于在消息处理子模块进行消息处理的过程中对消息进行缓存; 输出子模块,用于将消息处理子模块处理后的消息传递到用户界面。
[0038]优选的,所述消息管理模块包括重配置函数、消息清空函数、消息删除函数、消息重发函数、消息查询函数,重配置函数用于对消息配置模块进行参数重新配置,消息清空函数用于清空消息处理模块的所有消息管理缓存空间,消息删除函数用于在接收到用户界面的消息删除指令后将消息删除,消息重发函数用于在收到用户界面实时传递的消息重发指令后将消息重新传递至用户界面,消息查询函数用于在接收到用户界面实时传递的消息查询指令后将消息的查询结果传递至用户界面。
[0039]本发明的一种中间件与用户界面之间的消息传递系统,在接收到中间件传递的多个消息后,通过消息处理模块根据消息配置模块中的消息配置表将中间件传递的消息进行相应处理后传递至用户界面,让多个消息的传递步骤更加有序,让多个消息的处理变得更加统一,而且消息传递过程中的管理方法比较简便,解决了多个消息同时传递至用户界面时出现的消息冲突和覆盖问题。
[0040]本发明可广泛应用于各种中间件与用户界面的消息传递领域。
[0041]实施例三本实施例是实施例一的一个特例:
假设目前使用的编程环境是C语言,已经包括了代表界面层的ui_XXX.C文件、代表中间件的mid_XXX.c文件,中间件的消息通过消息管道传递至界面层的,加入本发明的消息传递方法msg_proc.C,且已经预定义好如下数据结构:
//--------定义消息标识------------
typedef enum
{
UI_MSG_STATUS_USB_INSERTED,//USB 设备插入
UI_MSG_STATUS_SIGNAL_UNLOCKED, // 信号失锁 }MsgType_t;
//--------定义消息配置表------------
MsgConfigTable_t MsgConfigTable[]=
{
//---------------消息1------信号失锁----------------------消息配置表项I
{UI_MSG_STATUS_SIGNAL_UNLOCKED, // 消息标识 I MSG_PR1RITY_DEFAULT,// 优先级
MSG_DELETE_AUTO,// 删除模式
MSG_FILTER_BY_PR1RITY | MSG_FILTER_BY_MENU_ACCEPT, //过滤模式 {UI_VIEff_ID}},Il 菜单列表
//---------------消息2------USB设备插入-------------------消息配置表项2
{UI_MSG_STATUS_USB_INSERTED, // 消息标识 2
MSG_PR1RITY_DEFAULT,// 优先级
MSG_DELETE_AUTO,// 删除模式
MSG_FILTER_BY_PR1RITY,// 过滤模式
{UI_N0NE_ID}},Il 菜单列表
}
实现本发明所述消息传递方法包括以下流程:
1.表示USB设备插入的消息n_MSG_STATUS_USB_INSERTED和表示信号失锁的消息UI_MSG_STATUS_SIGNAL_UNLOCKED同时传递至消息处理模块;
2.当消息处理模块同时收到上述两条消息时,首先根据消息标识在消息配置表中查找过滤模式;
3.信号失锁消息的过滤模式为MSG_FILTER_BY_PR1RITY | MSG_FILTER_BY_MENU_ACCEPT,这表示按优先级和按菜单列表通过来处理消息,由于优先级被设置为MSG_PR1RITY_DEFAULT,所以根据的是消息标识定义中的默认优先级,本例中n_MSG_STATUS_SIGNAL_UNLOCKED的默认优先级比n_MSG_STATUS_USB_INSERTED要低,所以信号失锁消息比USB设备插入消息后一步到达用户界面层,又由于信号失锁消息的菜单列表设置为UI_VIEW_ID,那么只有VIEW菜单才能收到并显示信号失锁的消息,而对于USB设备插入消息则没有菜单的限制。
[0042]4.由于信号失锁消息设置为MSG_DELETE_AUTO,这表示自动删除,即信号失锁消息发送到界面之后自动从消息管理缓存空间删除。同样的,USB设备插入消息发送到界面之后也自动从消息管理缓存空间删除。
[0043]以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
【权利要求】
1.一种中间件与用户界面之间的消息传递方法,其特征在于,其包括步骤: 31、接收到中间件传递的多个消息后,获取每个消息对应的消息配置表; 32、分别根据每个消息对应的消息配置表中的过滤模式对该消息进行处理,进而将该消息传递至对应的用户界面和/或进行缓存; 33、针对每个缓存的消息,分别根据该消息对应的消息配置表中的优先级对其进行处理,最后将所有缓存的消息按优先级顺序传递至用户界面; 34、针对中间件传递的所有消息,分别根据每个消息对应的消息配置表中的删除模式对其进行删除处理。
2.根据权利要求1所述的一种中间件与用户界面之间的消息传递方法,其特征在于,所述步骤52具体包括子步骤: 321、分别根据每个消息对应的消息配置表中的过滤模式的具体内容,分别执行322及823 ; 322、对于过滤模式为按菜单列表通过的消息,将该消息传递至菜单列表中存在的用户界面; 或 对于过滤模式为按菜单列表滤除的消息,将该消息传递至菜单列表中不存在的用户界面; 323、对于过滤模式为按优先级过滤的消息,将该消息进行缓存; 或 对于过滤模式为不过滤的消息,将该消息直接传递至所有的用户界面。
3.根据权利要求2所述的一种中间件与用户界面之间的消息传递方法,其特征在于,所述步骤33具体包括子步骤: 331、针对每个缓存的消息,根据该消息对应的消息配置表中的优先级的具体内容,对应执行步骤332~334中的任一步骤; 332、对于优先级为最高优先级的消息,将该消息首先传递至用户界面; 333、对于优先级为默认优先级的消息,根据该消息对应的消息配置表的自然顺序将该消息传递至用户界面; 334、对于优先级为最低优先级的消息,将该消息最后传递至用户界面。
4.根据权利要求1所述的一种中间件与用户界面之间的消息传递方法,其特征在于,所述步骤34具体包括子步骤: 341、针对中间件传递的所有消息,根据每个消息对应的消息配置表中的删除模式的具体内容,对应执行步骤342~344中的任一步骤; 342、对于删除模式为自动删除的消息,将该消息直接删除; 343、对于删除模式为手动删除的消息,将该消息保留,直到接收到用户界面实时传递的控制指令后进行对应操作; 344、对于删除模式为不删除的消息,将该消息保留,直到有新的消息将该消息覆盖。
5.根据权利要求4所述的一种中间件与用户界面之间的消息传递方法,其特征在于,所述步骤343中所述直到接收到用户界面实时传递的控制指令后进行对应操作的步骤,其具体为: 直到接收到用户界面实时传递的消息删除指令后将该消息删除; 或 直到接收到用户界面实时传递的消息重发指令后将该消息重新传递至用户界面; 或 直到接收到用户界面实时传递的消息查询指令后将该消息的查询结果传递至用户界面。
6.根据权利要求1至5任一项所述的一种中间件与用户界面之间的消息传递方法,其特征在于,还包括以下步骤: 实时判断是否接收到用户界面传递的修改消息配置表的指令,若是,则对应地对消息配置表进行修改; 和/或 实时判断是否接收到用户界面传递的清空缓存消息的指令,若是,则将所有缓存的消息清除。
7.—种中间件与用户界面之间的消息传递系统,用于实施如权利要求1至6任意一项所述的一种中间件与用户界面之间的消息传递方法,其特征在于,包括: 消息配置模块,用于存储多个与消息一一对应的消息配置表,所述消息配置表包括消息标识、优先级、删除模式、过滤模式及菜单列表; 消息处理模块,用于根据消息配置模块中的消息配置表将中间件传递的消息进行相应处理后传递至用户界面; 消息管理模块,用于对消息配置模块和消息处理模块进行参数配置和/或参数查询。
8.根据权利要求7所述的一种中间件与用户界面之间的消息传递系统,其特征在于,所述优先级最高优先级、默认优先级以及最低优先级,所述过滤模式包括按菜单列表通过、按菜单列表过滤、按优先级过滤和不过滤,所述删除模式包括不删除、自动删除及手动删除。
9.根据权利要求8所述的一种中间件与用户界面之间的消息传递系统,所述消息处理模块包括: 输入子模块,用于接收中间件传递的消息; 消息处理子模块,用于根据消息配置模块中的消息配置表将中间件传递的消息进行相应处理; 消息管理缓存空间,用于在消息处理子模块进行消息处理的过程中对消息进行缓存; 输出子模块,用于将消息处理子模块处理后的消息传递到用户界面。
10.根据权利要求9所述的一种中间件与用户界面之间的消息传递系统,所述消息管理模块包括重配置函数、消息清空函数、消息删除函数、消息重发函数、消息查询函数。
【文档编号】H04N21/472GK104506948SQ201410821837
【公开日】2015年4月8日 申请日期:2014年12月25日 优先权日:2014年12月25日
【发明者】周林青 申请人:深圳市九洲电器有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1