CN101594592B - 基于不同软件平台的消息发送方法及装置 - Google Patents
基于不同软件平台的消息发送方法及装置 Download PDFInfo
- Publication number
- CN101594592B CN101594592B CN2009101515521A CN200910151552A CN101594592B CN 101594592 B CN101594592 B CN 101594592B CN 2009101515521 A CN2009101515521 A CN 2009101515521A CN 200910151552 A CN200910151552 A CN 200910151552A CN 101594592 B CN101594592 B CN 101594592B
- Authority
- CN
- China
- Prior art keywords
- message
- software platform
- task
- sign
- software
- 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.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种基于不同软件平台的消息发送方法及装置,该方法包括:中间映射层接收任务通过第一软件平台发送的消息,其中,消息中携带有任务在第一软件平台的标识;中间映射层根据任务在第一软件平台的标识确定任务在第二软件平台的标识;中间映射层将消息发送给第二软件平台,并将消息中携带的在第一软件平台的标识替换为在第二软件平台的标识。通过本发明达到了能够在不同的软件平台进行消息交互的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种基于不同软件平台的消息发送方法及装置。
背景技术
目前,在实时操作系统中,尤其对手机来说,系统中加入的应用越来越多,往往需要同时运行多个软件平台。这些软件平台一般由第三方提供,有自己的任务调度以及消息循环机制,因此,这些软件平台的任务间无法通过消息进行交互。目前,为了使这些不同平台间的任务消息互通,需要对软件平台进行大量的修改,包括修改消息循环机制和消息格式,延长了开发周期。
针对相关技术中不同的软件平台中无法通过消息进行交互而导致开发工作量大、周期长的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中不同的软件平台中无法通过消息进行交互二导致开发工作量大、周期长的问题而提出本发明,为此,本发明的主要目的在于提供一种改进的基于不同软件平台的消息发送方案,以解决上述问题。
为了实现上述目的,根据本发明的一个方面,提供了一种基于不同软件平台的消息发送方法。
根据本发明的基于不同软件平台的消息发送方法包括:中间映射层接收任务通过第一软件平台发送的消息,其中,消息中携带有任务在第一软件平台的标识;中间映射层根据任务在第一软件平台的标识确定任务在第二软件平台的标识;中间映射层将消息发送给第二软件平台,并将消息中携带的在第一软件平台的标识替换为在第二软件平台的标识。
优选地,在中间映射层将消息发送给第二软件平台之前,上述方法还包括:中间映射层将消息封装成第二软件平台支持的消息格式。
优选地,在中间映射层接收任务通过第一软件平台发送的消息之前,上述方法还包括:第一软件平台接收来自任务的消息;第一软件平台在本地定位任务,并在定位失败的情况下,向中间映射层发送消息。
优选地,在第一软件平台在本软件平台定位任务之后,上述方法还包括:如果定位成功,则在第一软件平台内转发消息。
优选地,中间映射层保存第一软件平台和第二软件平台的相关信息,其中,相关信息至少包括以下之一:任务在第一软件平台标识和任务在第二软件平台的标识的映射关系、第一软件平台的消息格式及消息发送接口、第二软件平台的消息格式及消息发送接口。
为了实现上述目的,根据本发明的另一方面,提供了一种基于不同软件平台的消息发送装置。
根据本发明的基于不同软件平台的消息发送装置包括:接收模块,用于接收任务通过第一软件平台发送的消息,其中,消息中携带有任务在第一软件平台的标识;确定模块,用于根据任务在第一软件平台的标识确定任务在第二软件平台的标识;替换模块,用于将消息中携带的在第一软件平台的标识替换为在第二软件平台的标识;发送模块,用于将消息发送给第二软件平台。
优选地,上述装置还包括:封装模块,用于将消息封装成第二软件平台支持的消息格式。
优选地,上述装置还包括:第二接收模块,用于接收来自任务的消息;定位模块,用于在本地定位任务;第二发送模块,用于在定位模块定位失败的情况下,向中间映射层发送消息。
优选地,第二发送模块还用于在定位模块定位成功的情况下,在第一软件平台内转发消息。
优选地,上述装置还包括:保存模块,用于保存第一软件平台和第二软件平台的相关信息,其中,相关信息至少包括以下之一:任务在第一软件平台标识和任务在第二软件平台的标识的映射关系、第一软件平台的消息格式及消息发送接口、第二软件平台的消息格式及消息发送接口。
通过本发明,采用了增加中间映射层对不同软件平台的消息进行解析封装和转发,解决了不同的软件平台中无法通过消息进行交互而导致开发工作量大、周期长的问题,进而达到了能够在不同的软件平台进行消息交互的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的基于不同软件平台的消息发送方法的流程图;
图2是根据本发明实施例的多软件平台系统的结构框图;
图3是根据本发明实施例的中间映射层的结构框图;
图4是根据本发明实施例的中间映射层消息转发的流程图;
图5是根据本发明实施例的基于不同软件平台的消息发送装置的结构框图;
图6是根据本发明实施例的基于不同软件平台的消息发送装置具体的结构框图。
具体实施方式
功能概述
相关技术中不同的软件平台中无法通过消息进行交互二导致开发工作量大、周期长的问题,本发明实施例提供了一种基于不同软件平台的消息发送方案,该方案为不同平台的任务提供一个中间映射层,应用这个中间映射层可以将一个平台的任务映射成另一个平台的任务,并提供相应的消息格式转换和消息转发。该方案的具体处理原则如下:中间映射层接收任务通过第一软件平台发送的消息,其中,消息中携带有任务在第一软件平台的标识;中间映射层根据任务在第一软件平台的标识确定任务在第二软件平台的标识;中间映射层将消息发送给第二软件平台,并将消息中携带的在第一软件平台的标识替换为在第二软件平台的标识。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
在以下实施例中,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
方法实施例
通常,任务都有一个唯一的标识(ID),通过这个标识可以定位一个任务,并可以通过这个标识向该任务发送消息。不同的平台有不同的ID形式和不同的消息格式,不同的平台只能识别本平台的任务ID和消息格式。
根据本发明的实施例,提供了一种基于不同软件平台的消息发送方法,图1是根据本发明实施例的基于不同软件平台的消息发送方法的流程图,如图1所示,该方法包括如下的步骤S102至步骤S108:
步骤S102,中间映射层接收任务通过第一软件平台发送的消息,其中,消息中携带有任务在第一软件平台的标识。
步骤S104,中间映射层根据任务在第一软件平台的标识确定任务在第二软件平台的标识。
步骤S106,将上述消息中携带的在第一软件平台的标识替换为在第二软件平台的标识。
步骤S108,中间映射层将消息发送给第二软件平台。
其中,步骤S106中还包括:中间映射层将消息封装成第二软件平台支持的消息格式。
优选地,第一软件平台需要对该任务发送的消息是否是在本软件平台内进行处理进行判断,包括如下的步骤:
步骤A,第一软件平台接收来自任务的消息。
步骤B,第一软件平台在本地定位任务,并在定位失败的情况下(即,消息是发送给其他软件平台的),向中间映射层发送消息。
步骤C,如果定位成功(即,该消息是发送给第一软件平台内部其他任务的),则在第一软件平台内转发消息。
优选地,中间映射层保存第一软件平台和第二软件平台的相关信息,其中,相关信息至少包括以下之一:任务在第一软件平台标识和任务在第二软件平台的标识的映射关系、第一软件平台的消息格式及消息发送接口、第二软件平台的消息格式及消息发送接口。
下面将结合实例对本发明实施例的实现过程进行详细描述。
图2是根据本发明实施例的多软件平台系统的结构框图,如图2所示,该系统中包括操作系统(Operation System,简称为OS)、软件平台A(即,第一软件平台)和软件平台B(即,第二软件平台)、中间映射层。图3是根据本发明实施例的中间映射层的结构框图,如图3所示,中间映射层将一个软件平台A的任务ID映射成软件平台B的任务ID形式,并存储任务的相关信息,这样软件平台B就可以通过这个虚拟ID识别这个任务,并通过存储的相关信息定位这个任务,因此,就可以向这个任务发送消息。完成任务定位后,中间映射层解析这个消息,将这个消息重新封装成任务所在平台的消息格式,调用所在平台消息发送接口将这个消息发送到指定的任务。对某一平台来说,由于其他平台任务的ID已经映射成本平台的ID格式,因此,对这个平台来说所有的任务都是本平台的任务。
上述的任务映射的过程主要由三个部分组成:任务ID映射,消息格式转换,消息转发,下面对这三个部分分别进行描述。
1.任务ID映射
任务ID映射一般在系统启动前由程序员手动添加,格式如表1所示:
表1
平台A任务真实ID | 平台B虚拟ID |
xxxxxxxxxxxxx | xxxxxxxxxxxxxx |
同时,存储两个平台任务的相应信息,包括:平台A的消息格式,消息发送接口等,以便中间映射层可以定位这个任务,以及平台B的消息格式,以便中间映射层可以解析消息格式。这些信息以链表的形式和平台A任务真实ID绑定,格式如表2。
表2
平台A任务真实ID |
消息解析接口 |
消息转换接口 |
消息发送接口 |
任务其他信息 |
其中,消息解析接口用来解析平台B的消息格式,取出其中的有用部分,消息转换接口用来重新将消息封装成平台A的消息格式,消息发送接口用来向平台A的任务发送消息,这两项根据不同的平台而不同,由程序员根据平台来实现。当平台B向平台A的任务发送消息时,先检查任务ID映射表,通过虚拟ID找到任务的真实ID,在遍历链表通过真实ID找到平台A任务的信息。
2.消息格式转换
不同的平台有不同的消息格式,在定位了目标任务后,要解析需要发送的消息,通过消息解析接口取出消息中的有用部分,在通过消息转换接口重新对其封装,转换成平台A支持的消息格式。具体的封装过程因平台的不同而不同,因此,中间映射层需要了解两个平台的消息体格式。
3.消息转发
不同平台间任务不能互通主要是因为任务ID不同不能定位目标任务以及消息格式不兼容。通过上面两步,用虚拟ID定位了目标任务,通过任务信息将消息重新封装,这时只用调用平台A的消息发送接口发送消息就可以将消息发送到目标任务。
图4是根据本发明实施例的中间映射层消息转发的流程图,如图4所示,该流程包括如下步骤S401至步骤S408:
步骤S401,软件平台A(简称为平台A)发送消息。
步骤S402,在平台A中定位目标任务。
步骤S403,判断定位是否成功,如果定位成功,则在平台A内进行消息发送,如果定位失败,则执行步骤S404。
步骤S404,将该消息转发给中间映射层。
步骤S405,中间映射层通过检查ID映射表对该任务进行定位。
步骤S406,如果定位失败,则丢弃该消息,如果定位成功,则执行步骤S407。
步骤S407,将该消息进行重新封装。
步骤S408,将该消息转发给软件平台B(简称为平台B)。
装置实施例
根据本发明的实施例,提供了一种基于不同软件平台的消息发送装置,图5是根据本发明实施例的基于不同软件平台的消息发送装置的结构框图,如图5所示,该装置包括:接收模块52、确定模块54、替换模块56、发送模块58,上述模块位于中间映射层内,下面对该结构进行详细的描述。
接收模块52,用于接收任务通过第一软件平台发送的消息,其中,所述消息中携带有所述任务在所述第一软件平台的标识;确定模块54连接至接收模块52,用于根据所述任务在所述第一软件平台的标识确定所述任务在第二软件平台的标识;替换模块56连接至确定模块54,用于将所述消息中携带的在所述第一软件平台的标识替换为在所述第二软件平台的标识。发送模块58连接至替换模块56,用于将所述消息发送给所述第二软件平台。
图6是根据本发明实施例的基于不同软件平台的消息发送装置具体的结构框图:如图6所示,该装置还包括:封装模块62。
封装模块62连接至替换模块56和发送模块58,用于将所述消息封装成所述第二软件平台支持的消息格式。封装模块62也位于中间映射层内。
优选地,如图6所示,该装置还包括:第二接收模块64、定位模块66、第二发送模块68,下面对该结构进行详细的说明。
第二接收模块64,用于接收来自所述任务的所述消息;定位模块66连接至第二接收模块64,用于在本地定位所述任务;第二发送模块68连接至定位模块66,用于在所述定位模块66定位失败的情况下,向中间映射层发送所述消息;第二发送模块68还用于在定位模块66定位成功的情况下,在所述第一软件平台内转发所述消息。需要说明的是,第二接收模块64、定位模块66、第二发送模块68位于第一软件平台内。
优选地,如图6所示,该装置还可以包括保存模块60,该模块用于保存所述第一软件平台和所述第二软件平台的相关信息,其中,所述相关信息至少包括以下之一:任务在所述第一软件平台标识和任务在所述第二软件平台的标识的映射关系、所述第一软件平台的消息格式及消息发送接口、所述第二软件平台的消息格式及消息发送接口。确定模块54连接至保存模块60用于从保存模块60保存的信息中确定任务在第二软件平台的标识,保存模块60也位于中间映射层内。
综上所述,通过本发明的上述实施例,提供了一个中间映射层来进行消息的转换和转发,从而实现不同平台任务间的消息互通。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于不同软件平台的消息发送方法,其特征在于,包括:
中间映射层接收任务通过第一软件平台发送的消息,其中,所述消息中携带有所述任务在所述第一软件平台的标识;
所述中间映射层根据所述任务在所述第一软件平台的标识确定所述任务在第二软件平台的标识;
所述中间映射层将所述消息发送给所述第二软件平台,并将所述消息中携带的在所述第一软件平台的标识替换为在所述第二软件平台的标识。
2.根据权利要求1所述的方法,其特征在于,在所述中间映射层将所述消息发送给所述第二软件平台之前,所述方法还包括:
所述中间映射层将所述消息封装成所述第二软件平台支持的消息格式。
3.根据权利要求2所述的方法,其特征在于,在所述中间映射层接收任务通过第一软件平台发送的消息之前,所述方法还包括:
所述第一软件平台接收来自所述任务的所述消息;
所述第一软件平台在本地定位所述任务,并在定位失败的情况下,向所述中间映射层发送所述消息。
4.根据权利要求3所述的方法,其特征在于,在所述第一软件平台在本软件平台定位所述任务之后,所述方法还包括:
如果定位成功,则在所述第一软件平台内转发所述消息。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述中间映射层保存所述第一软件平台和所述第二软件平台的相关信息,其中,所述相关信息至少包括以下之一:
任务在所述第一软件平台标识和任务在所述第二软件平台的标识的映射关系、所述第一软件平台的消息格式及消息发送接口、所述第二软件平台的消息格式及消息发送接口。
6.一种基于不同软件平台的消息发送装置,其特征在于,包括:
接收模块,用于接收任务通过第一软件平台发送的消息,其中,所述消息中携带有所述任务在所述第一软件平台的标识;
确定模块,用于根据所述任务在所述第一软件平台的标识确定所述任务在第二软件平台的标识;
替换模块,用于将所述消息中携带的在所述第一软件平台的标识替换为在所述第二软件平台的标识;
发送模块,用于将所述消息发送给所述第二软件平台。
7.根据权利要求6所述的装置,其特征在于,还包括:
封装模块,用于将所述消息封装成所述第二软件平台支持的消息格式。
8.根据权利要求7所述的装置,其特征在于,还包括:
第二接收模块,用于接收来自所述任务的所述消息;
定位模块,用于在本地定位所述任务;
第二发送模块,用于在所述定位模块定位失败的情况下,向中间映射层发送所述消息。
9.根据权利要求8所述的装置,其特征在于,所述第二发送模块还用于在所述定位模块定位成功的情况下,在所述第一软件平台内转发所述消息。
10.根据权利要求6至9中任一项所述的装置,其特征在于,还包括:
保存模块,用于保存所述第一软件平台和所述第二软件平台的相关信息,其中,所述相关信息至少包括以下之一:任务在所述第一软件平台标识和任务在所述第二软件平台的标识的映射关系、所述第一软件平台的消息格式及消息发送接口、所述第二软件平台的消息格式及消息发送接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101515521A CN101594592B (zh) | 2009-06-30 | 2009-06-30 | 基于不同软件平台的消息发送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101515521A CN101594592B (zh) | 2009-06-30 | 2009-06-30 | 基于不同软件平台的消息发送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101594592A CN101594592A (zh) | 2009-12-02 |
CN101594592B true CN101594592B (zh) | 2011-09-21 |
Family
ID=41408976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101515521A Active CN101594592B (zh) | 2009-06-30 | 2009-06-30 | 基于不同软件平台的消息发送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101594592B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268776B (zh) * | 2014-10-21 | 2018-02-09 | 中国建设银行股份有限公司 | 一种消息推送方法及装置 |
US9876852B2 (en) * | 2015-07-23 | 2018-01-23 | Microsoft Technology Licensing, Llc | Coordinating actions across platforms |
CN113709019A (zh) * | 2021-08-27 | 2021-11-26 | 广州易方信息科技股份有限公司 | 跨平台的桥接方法、装置以及存储介质 |
CN114500641A (zh) * | 2022-02-10 | 2022-05-13 | 阿里巴巴(中国)有限公司 | 消息通信方法、设备和可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003015390A1 (en) * | 2001-08-07 | 2003-02-20 | Connectiva Systems, Inc. | Method and apparatus for integrating disparate telecommunication operational support systems (oss) and streamlining business processes using a software platform |
US20060167738A1 (en) * | 2005-01-10 | 2006-07-27 | Spear Steven E | System and method for managing workflow |
CN101242589A (zh) * | 2008-03-18 | 2008-08-13 | 中国卫星通信集团公司山东分公司 | 数字集群共网平台上的专网调度台系统及其管理方法 |
-
2009
- 2009-06-30 CN CN2009101515521A patent/CN101594592B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003015390A1 (en) * | 2001-08-07 | 2003-02-20 | Connectiva Systems, Inc. | Method and apparatus for integrating disparate telecommunication operational support systems (oss) and streamlining business processes using a software platform |
US20060167738A1 (en) * | 2005-01-10 | 2006-07-27 | Spear Steven E | System and method for managing workflow |
CN101242589A (zh) * | 2008-03-18 | 2008-08-13 | 中国卫星通信集团公司山东分公司 | 数字集群共网平台上的专网调度台系统及其管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101594592A (zh) | 2009-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2523964C2 (ru) | Способ межпроцессного взаимодействия между разными приложениями в мобильном терминале и соответствующее устройство | |
CN101848107B (zh) | Snmp网元及snmp网元与私有协议网元通信的方法 | |
CN101594592B (zh) | 基于不同软件平台的消息发送方法及装置 | |
CN101631033A (zh) | 远程组件的调用方法和系统、以及服务器、客户端 | |
CN103312661A (zh) | 一种服务访问方法及装置 | |
CN104317661A (zh) | 嵌入式双系统的系统间通信方法及装置 | |
CN110784255A (zh) | 一种北斗用户终端通信资源共享系统 | |
CN102854853A (zh) | 一种跨平台轻量级的分布式控制系统 | |
CN111813724A (zh) | Hidl接口适配系统、方法及相应设备、存储介质 | |
US9021013B2 (en) | Ubiquitous web service gateway and method | |
CN101754128B (zh) | 一种实现移动网携出用户接收短消息的方法 | |
CN102325300A (zh) | 定位方法及系统 | |
CN101571811B (zh) | 一种信息传输方法及装置 | |
CN102905000B (zh) | 通讯录同步方法及装置 | |
CN104579889A (zh) | 一种用于调用网络功能的方法及装置 | |
CN105516250A (zh) | 物联网服务调用平台和系统 | |
CN104579973A (zh) | 一种虚拟集群中的报文转发方法和装置 | |
CN108737397B (zh) | 一种实现路由器中业务与协议栈之间数据交互的方法 | |
CN104092661A (zh) | 虚拟机串口的通信方法及装置 | |
CN102821055B (zh) | 板间通信的方法 | |
CN104539506A (zh) | 一种网络传输服务构件及网络传输系统 | |
CN106330787B (zh) | 一种数据包传输方法、设备及系统 | |
CN104424004A (zh) | 业务执行、业务执行的驱动方法及装置以及移动终端 | |
CN111314914B (zh) | 移动终端数据转发方法及计算机可读存储介质 | |
CN103502968B (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 |