CN103136143A - 企业消息总线传输数据的方法及系统 - Google Patents
企业消息总线传输数据的方法及系统 Download PDFInfo
- Publication number
- CN103136143A CN103136143A CN2011103757575A CN201110375757A CN103136143A CN 103136143 A CN103136143 A CN 103136143A CN 2011103757575 A CN2011103757575 A CN 2011103757575A CN 201110375757 A CN201110375757 A CN 201110375757A CN 103136143 A CN103136143 A CN 103136143A
- Authority
- CN
- China
- Prior art keywords
- emb
- data
- message object
- message
- character string
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种企业消息总线传输数据的方法,包括:发送端通过EMB通讯接口调用接口函数;根据所述接口函数,分析传入发送端的数据中的参数类型,并根据所述参数类型将所述数据转化为EMB消息对象;将所述EMB消息对象发送至接收端,以供接收端根据所述数据进行业务处理。本发明还相应地提供了包括发送端和接收接的企业消息总线传输数据的系统。本发明所提供的一种企业消息总线传输数据的方法及系统,可以方便地实现大对象数据的传输,并且可以同时传递二进制数据和普通数据,减少了EMB数据传输业务的繁杂度。
Description
技术领域
本发明涉及到数据通信领域,特别涉及到一种企业消息总线传输数据的方法及系统。
背景技术
随着计算机应用的不断发展,企业级管控系统的数据通讯和传输越来越多。而随着管控范围的不断多元化,需要传递的数据类型越来越多,这其中,就不可避免地包含大对象数据(如:监控数据、报表数据等)和二进制数据(如:图片文件、音频文件等)。采用EMB(Enterprise Message Bus,企业消息总线)可以实现数据的通讯和传输,使得异地数据的基本同步成为可能。而受限于实现方式,EMB在传递数据时,要确定数据类型,并且EMB所限定的数据类型只能是几种简单的数据类型。这样,对一些大对象数据或者二进制数据的传输,就变得不可实现或异常复杂。
现有的EMB限定的数据类型包括:boolean、整型、浮点型、字符串、长整型、byte型、short型、double型等基础数据类型及其数组,以及枚举型和日期型。这样,对于一些自定义的数据类型,比如一个学生信息,那么当将学生的信息封装成一个对象后,由于它并不满足EMB传输参数所限定的数据类型,因此就无法作为EMB的数据类型去传递。而按照现在的EMB传递的方式,要传递这样一个学生信息,只能把学生的姓名、性别、年龄、年级、班级等信息,依次构建成EMB限定的数据类型后,再进行组装,形成EMB消息对象,并一一进行传递。这对于数据传输来说,太过麻烦。
其次,还有一些图片、音频、视频、报表等二进制数据,EMB则有单独的实现传递这些二进制数据的方式,也就是通过构造EMB二进制消息对象,来实现这些数据的传递。这样,对于接口的统一和通用性来说,都是比较麻烦的。并且,这种二进制消息对象只能传递二进制数据,当业务需要同时传递二进制数据和普通数据时,这种方式就无法实现,只能分次传递,从而增加了EMB交互的次数以及业务的繁杂度。
发明内容
本发明的主要目的为提供一种企业消息总线传输数据的方法,可以方便地实现大对象数据的传输,并且可以同时传递二进制数据和普通数据,减少了EMB数据传输业务的繁杂度。
本发明提供一种企业消息总线传输数据的方法,包括:
发送端通过EMB通讯接口调用接口函数;
根据所述接口函数,分析传入发送端的数据中的参数类型,并根据所述参数类型将所述数据转化为EMB消息对象;
将所述EMB消息对象发送至接收端,以供接收端根据所述数据进行业务处理。
优选地,所述根据接口函数,分析传入发送端的数据中的参数类型,并根据所述参数类型将所述数据转化为EMB消息对象具体包括:
根据所述接口函数,判断所述传入发送端的数据中的参数是否为二进制参数,如是,则将所述数据构建为二进制EMB消息对象;
如否,则所述数据为普通数据,将该普通数据中的普通参数序列化为第一字符串,并构建普通EMB消息对象,将所述第一字符串添加到所述普通EMB消息对象中。
优选地,在执行判断所述传入发送端的数据中的参数是否为二进制参数,如是,则将所述数据构建为二进制EMB消息对象之后,还包括:
判断所述数据中是否还包括普通参数,如是,将该普通参数序列化为第二字符串,并将所述第二字符串写入所述二进制EMB消息对象的消息头中。
优选地,在执行所述将EMB消息对象发送至接收端,以供接收端根据所述数据进行业务处理之后,还包括:
接收端分析所接收到的EMB消息对象的类型,并将所述EMB消息对象转化为数据对象;
根据所述数据对象进行业务处理,并将经过业务处理后的数据对象构建为返回EMB消息对象,将所述返回EMB消息对象返回至发送端。
优选地,所述接收端分析所接收到的EMB消息对象的类型,并将所述EMB消息对象转化为数据对象包括:
接收端分析所接收到的EMB消息对象的类型,若为普通EMB消息对象,则提取该普通EMB消息对象中的第一字符串,并将所述第一字符串反序列化为普通数据对象;
若为二进制EMB消息对象,则提取所述二进制EMB消息对象中的参数,并将所述参数转化为二进制数据。
优选地,在执行所述提取二进制EMB消息中的参数,并将所述参数转化为二进制数据之后,还包括:
判断所述二进制EMB消息对象的消息头中是否包括由所述普通参数序列化的第二字符串,如是,则提取所述第二字符串,并将所述第二字符串反序列化为普通数据对象。
本发明还提供一种企业消息总线传输数据的系统,包括发送端和接收端,所述发送端包括:
调用模块,用于发送端通过EMB通讯接口调用接口函数;
转化模块,用于根据所述接口函数,分析传入发送端的数据中的参数类型,并根据所述参数类型将所述数据转化为EMB消息对象;
发送模块,用于将所述EMB消息对象发送至接收端,以供接收端根据所述数据进行业务处理。
优选地,所述转化模块包括:
构建单元,用于根据所述接口函数,判断所述传入发送端的数据中的参数是否为二进制参数,如是,则将所述数据构建为二进制EMB消息对象;
第一序列化单元,用于如否,则所述数据为普通数据,将该普通数据中的普通参数序列化为第一字符串,并构建普通EMB消息对象,将所述第一字符串添加到所述普通EMB消息对象中。
优选地,所述转化模块还包括:
第二序列化单元,用于判断所述数据中是否还包括普通参数,如是,将该普通参数序列化为第二字符串,并将所述第二字符串写入所述二进制EMB消息对象的消息头中。
优选地,所述接收端包括:
分析模块,用于接收端分析所接收到的EMB消息对象的类型,并将所述EMB消息对象转化为数据对象;
返回模块,用于根据所述数据对象进行业务处理,并将经过业务处理后的数据对象构建为返回EMB消息对象,将所述返回EMB消息对象返回至发送端。
优选地,所述分析模块包括:
第一反序列化单元,用于接收端分析所接收到的EMB消息对象的类型,若为普通EMB消息对象,则提取该普通EMB消息对象中的第一字符串,并将所述第一字符串反序列化为普通数据对象;
提取单元,用于若为二进制EMB消息对象,则提取所述二进制EMB消息对象中的参数,并将所述参数转化为二进制数据。
优选地,所述分析模块还包括:
第二反序列化单元,用于判断所述二进制EMB消息对象的消息头中是否包括由所述普通参数序列化的第二字符串,如是,则提取所述第二字符串,并将所述第二字符串反序列化为普通数据对象。
本发明采用企业消息总线(EMB,Enterprise Message Bus)来实现在发送端和接收端之间数据的传输,并且通过统一的EMB通讯接口来对外调用接口函数,当对传入的数据进行分析并判断出数据中所包含的参数类型后,根据接口函数对不同的参数类型分别构建EMB消息对象,然后将EMB消息对象发送至接收端以供接收端进行业务处理。采用这种方法,即便所传入的数据为复杂的大数据,也可以将其构建为EMB支持的EMB消息对象来进行传输,这便可以减少EMB数据传输业务的繁杂度。
附图说明
图1为本发明企业消息总线传输数据的方法一实施例的流程示意图;
图2为图1中转化的流程示意图;
图3为本发明企业消息总线传输数据的方法又一实施例的流程示意图;
图4为本发明企业消息总线传输数据的方法另一实施例的流程示意图;
图5为图4中分析的流程示意图;
图6为本发明企业消息总线传输数据的方法再一实施例的流程示意图;
图7为本本发明企业消息总线传输数据的系统的结构示意图;
图8为本发明企业消息总线传输数据的系统一实施例的结构示意图;
图9为图8中转化模块的结构示意图;
图10为本发明企业消息总线传输数据的系统又一实施例的结构示意图;
图11为本发明企业消息总线传输数据的系统另一实施例的结构示意图;
图12为图11中分析模块的结构示意图;
图13为本发明企业消息总线传输数据的系统再一实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,提出本发明企业消息总线传输数据的方法一实施例,该方法包括:
步骤S101,发送端通过EMB通讯接口调用接口函数;
在本实施例中,采用EMB(Enterprise Message Bus,企业消息总线)来实现在发送端和接收端之间数据的传输,并且提供EMB通讯接口来对外调用接口函数。当有数据传入到发送端时,首先,发送端会通过EMB通讯接口来调用接口函数,所调用的接口函数可以为:
Public static<T>T getEmbResult(int commandCode,Object normalParams,byte[]byteParam,Class<T>resultCls)
其中,所包含的参数的含义为:commandCode:EMB通讯命令码;normalParams:普通参数;byteParam:二进制参数;resultCls:返回值类型。
步骤S102,根据所述接口函数,分析传入发送端的数据中的参数类型,并根据所述参数类型将所述数据转化为EMB消息对象;
当发送端通过EMB通讯接口调用外部接口函数后,便需要根据接口函数中所包含的参数的种类,来分析传入发送端的数据中所包含的参数的类型,并通过参数类型可以判断出传入发送端的数据的类型。当判断出数据中的参数类型后,便可以通过构造函数将该数据转化为EMB消息对象,以便于数据在发送端和接收端之间通过EMB进行传输。
步骤S103,将所述EMB消息对象发送至接收端,以供接收端根据所述数据进行业务处理。
当将传入发送端的数据构建为EMB消息对象后,便可以通过EMB通讯的方式将该EMB消息对象发送至接收端,以供接收端根据所接收到的EMB消息对象进行相应的转化还原,并对还原而来的数据对象进行业务处理。
本发明所提供的企业消息总线传输数据的方法,采用EMB(EnterpriseMessage Bus,企业消息总线)来实现在发送端和接收端之间数据的传输,并且通过统一的EMB通讯接口来对外调用接口函数,当对传入的数据进行分析并判断出数据中所包含的参数类型后,根据接口函数对不同的参数类型分别构建EMB消息对象,然后将EMB消息对象发送至接收端以供接收端进行业务处理。采用这种方法,即便所传入的数据为复杂的大数据,也可以将其构建为EMB支持的EMB消息对象来进行传输,这便可以减少EMB数据传输业务的繁杂度。
参照图2,在上述实施例中,步骤S102具体包括:
步骤S1021,根据所述接口函数,判断所述传入发送端的数据中的参数是否为二进制参数,如是,则将所述数据构建为二进制EMB消息对象;
当发送端通过EMB通讯接口调用外部接口函数后,需要根据该接口函数中所包含的参数的种类,判断传入发送端的数据中的参数为二进制参数还是普通参数。如果判断出数据中的参数为二进制参数,则构建一个二进制EMB消息对象,本实施例中,可以通过调用new BinEMessage构造函数的方法来构建二进制EMB消息对象。构建了二进制EMB消息对象后,构造函数便可直接将数据中所包含的二进制参数写入到这个二进制EMB消息对象中,这样,二进制数据便可以通过EMB以二进制EMB消息对象传送至接收端。
步骤S1022,如否,则所述数据为普通数据,将该普通数据中的普通参数序列化为第一字符串,并构建普通EMB消息对象,将所述第一字符串添加到所述普通EMB消息对象中。
如果根据接口函数中所包含的参数的种类,判断出数据中的参数不包含二进制参数,则这个数据便为普通数据,此时,需要将这个普通数据中的普通参数序列化为第一字符串,如果该普通数据为复杂的大数据对象,同样可以通过序列化的方式将其序列化为字符串。根据数据中的参数而序列化成的字符串为EMB通讯所支持的数据类型。然后,构建一个普通EMB消息对象,本实施例中,可以通过调用newEMessage构造函数的方法来构建普通EMB消息对象,然后将对普通参数进行序列化后的第一字符串添加到这个普通EMB消息对象中,本实施例中,可以通过调用add MessagObject构造函数的方法来将第一字符串添加至普通EMB消息对象中。这样,普通数据便可以通过EMB以普通EMB消息对象传送至接收端。
通过对传入到发送端中的数据中的参数类型进行分析,并且针对其参数类型为二进制参数还是普通参数,分别构建二进制EMB消息对象和普通EMB消息对象。增加了序列化的步骤,将普通参数序列化为第一字符串,即便是复杂的大数据,也可以简单地将其中的普通参数序列化为字符串,由于字符串为EMB通讯中可以支持的数据类型,因此,将第一字符串添加至普通EMB消息对象中,便可以实现数据的传递。这样,无论传入的数据是二进制数据、普通数据或复杂的大数据对象,都可以保证方便地对其进行传输,从而进一步减少了EMB数据传输业务的繁杂度。
参照图3,提出本发明企业消息总线传输数据的方法又一实施例,步骤S102还包括:
步骤S1023,判断所述数据中是否还包括普通参数,如是,将该普通参数序列化为第二字符串,并将所述第二字符串写入所述二进制EMB消息对象的消息头中。
当根据接口函数中所包含的参数的种类,判断传入发送端的数据中的参数类型为二进制参数,并且构建了二进制EMB消息对象,也将该二进制参数写入到二进制EMB消息对象中后,还需要判断这个数据中是否还包括普通参数,如包括,则说明传入发送端的数据为二进制数据和普通数据的组合。这时,就要将普通数据中的普通参数序列化为第二字符串,并且将第二字符串写入到所构建的二进制EMB消息对象的消息头中,这样,就可以将二进制数据和普通数据同时通过EMB以二进制EMB消息对象进行传递。
当分析出传入发送端的数据中所包含的参数类型为二进制参数,并且构建了二进制EMB消息对象后,根据接口函数,对该数据进行进一步地判断,判断其中是否还包括普通数据所包含的普通参数,如包括,则说明传入到发送端的数据为二进制数据和普通数据的组合,此时,将普通数据中的普通参数序列化为第二字符串,并且将第二字符串写入到二进制EMB消息对象的消息头中,这样,便可以通过二进制EMB消息对象来将二进制数据和普通数据方便地同时进行传递,而无需进行分次传递。
参照图4,提出本发明企业消息总线传输数据的方法另一实施例,该方法还包括:
步骤S104,接收端分析所接收到的EMB消息对象的类型,并将所述EMB消息对象转化为数据对象;
在本实施例中,接收端通过消息接收接口接收来自发送端的EMB消息对象。当接收端接收到EMB消息对象后,首先,要对这个EMB消息对象进行分析,即分析该EMB消息对象为二进制EMB消息对象还是普通EMB消息对象,然后,对EMB消息对象进行相应地转化,即转化为初始传入发送端的数据的数据对象。
步骤S105,根据所述数据对象进行业务处理,并将经过业务处理后的数据对象构建为返回EMB消息对象,将所述返回EMB消息对象返回至发送端。
当将EMB消息对象转化为初始传入发送端的数据对象后,接收端便会根据这个数据对象进行相应的业务处理。进行完业务处理后,还需要返回处理的结果给发送端,以供发送端根据接收端对数据对象的处理结果作相应的处理。因此,还需要将经过处理的数据对象转化为返回EMB消息对象,才能通过EMB将EMB消息对象进行发送,本实施例中,还原的过程与发送端构建EMB消息对象的过程相同。所形成的返回EMB消息对象中包括了根据传入发送端的数据对象进行了处理后的数据参数。当发送端接收到返回EMB消息对象后,便可以提取其中的数据参数,将参数重新还原为数据对象,并进行相应的处理。
参照图5,在上述实施例中,步骤S104具体包括:
步骤S1041,接收端分析所接收到的EMB消息对象的类型,若为普通EMB消息对象,则提取该普通EMB消息对象中的第一字符串,并将所述第一字符串反序列化为普通数据对象;
当接收端通过消息接收接口接收到来自发送端的EMB消息对象,并对该EMB消息对象的类型进行了分析后,如分析出EMB消息对象为普通EMB消息对象,则提取该普通EMB消息对象中由普通参数序列化而成的第一字符串,然后对第一字符串进行反序列化,即将第一字符串转化为初始传入发送端中的普通数据中所包含的普通参数,并且将该普通参数进行构造,从而可以得到普通数据对象。
步骤S1042,若为二进制EMB消息对象,则提取所述二进制EMB消息对象中的参数,并将所述参数转化为二进制数据。
如分析出EMB消息对象为二进制EMB消息对象,则提取该EMB消息对象中所包含的二进制参数,并且将该二进制参数进行构造,即构造为初始传入发送端时的二进制数据对象。
接收端通过消息接收接口接收到发送端所发送的EMB消息对象后,首先对其进行分析,分析的目的是确定该EMB消息对象为二进制EMB消息对象还是普通EMB消息对象。并且根据所分析出的结果,进行相应地转化,将EMB消息对象转化为初始传入时的数据对象,并且对该数据对象进行相应的业务处理。当对数据进行了业务处理后,需要将数据对象还原为EMB消息对象,然后,将还原后的EMB消息对象通过EMB返回给发送端以供发送端进行处理。
参照图6,提出本发明企业消息总线传输数据的方法再一实施例,步骤S104还包括:
步骤S1043,判断所述二进制EMB消息对象的消息头中是否包括由所述普通参数序列化的第二字符串,如是,则提取所述第二字符串,并将所述第二字符串反序列化为普通数据对象。
当接收端分析出EMB消息对象为二进制EMB消息对象,并将其中的二进制参数进行提取并构造为初始传入发送端时的二进制数据对象后,还需要对该二进制EMB消息的消息头进行分析,即判断其中是否包括由普通参数序列化而成的第二字符串,如果包括,则说明传入发送端的数据为二进制数据和普通数据的组合。然后,在二进制EMB消息的消息头中提取出其所包含的第二字符串,并且对该第二字符串进行反序列化,即将第二字符串转化为普通参数,从而可以得到普通数据对象。
当分析出EMB消息对象为二进制EMB消息对象,将其中的二进制参数进行提取并构造为初始传入发送端时的二进制数据对象后,还需对该二进制EMB消息对象的消息头进行分析以判断是否包括第二字符串,以此来判断传入发送端的数据中是否还包括普通数据,如包括,则将第二字符串提取并将其反序列化为普通参数以得到普通数据对象。通过这种方式,当传入发送端的数据为二进制数据和普通数据的组合时,也可以方便地将二进制数据和普通数据分别进行提取并转化,这使得对接收到的数据对象的处理更加简单。
参照图7和图8,提出本发明企业消息总线传输数据的系统一实施例,该系统包括发送端和接收端,所述发送端包括:
调用模块10,用于发送端通过EMB通讯接口调用接口函数;
转化模块20,用于根据所述接口函数,分析传入发送端的数据中的参数类型,并根据所述参数类型将所述数据转化为EMB消息对象;
发送模块30,用于将所述EMB消息对象发送至接收端,以供接收端根据所述数据进行业务处理。
在本实施例中,采用EMB(Enterprise Message Bus,企业消息总线)来实现在发送端和接收端之间数据的传输,并且提供EMB通讯接口来对外调用接口函数。当有数据传入到发送端时,首先,调用模块10会通过EMB通讯接口来调用接口函数,所调用的接口函数可以为:
Public static<T>T getEmbResult(int commandCode,Object normalParams,byte[]byteParam,Class<T>resultCls)
其中,所包含的参数的含义为:commandCode:EMB通讯命令码;normalParams:普通参数;byteParam:二进制参数;resultCls:返回值类型。
当发送端通过EMB通讯接口调用外部接口函数后,便需要根据接口函数中所包含的参数的种类,来分析传入发送端的数据中所包含的参数的类型,并通过参数类型可以判断出传入发送端的数据的类型。当判断出数据中的参数类型后,转化模块20便可以通过构造函数将该数据转化为EMB消息对象,以便于数据在发送端和接收端之间通过EMB进行传输。
当将传入发送端的数据构建为EMB消息对象后,发送模块30便可以通过EMB通讯的方式将该EMB消息对象发送至接收端,以供接收端根据所接收到的EMB消息对象进行相应的转化还原,并对还原而来的数据对象进行业务处理。
本发明所提供的企业消息总线传输数据的系统,EMB(Enterprise MessageBus,企业消息总线)来实现在发送端和接收端之间数据的传输,并且通过统一的EMB通讯接口来对外调用接口函数,当对传入的数据进行分析并判断出数据中所包含的参数类型后,根据接口函数对不同的参数类型分别构建EMB消息对象,然后将EMB消息对象发送至接收端以供接收端进行业务处理。采用这种方法,即便所传入的数据为复杂的大数据,也可以将其构建为EMB支持的EMB消息对象来进行传输,这便可以减少EMB数据传输业务的繁杂度。
参照图9,在上述实施例中,所述转化模块20包括:
构建单元21,用于根据所述接口函数,判断所述传入发送端的数据中的参数是否为二进制参数,如是,则将所述数据构建为二进制EMB消息对象;
第一序列化单元22,用于如否,则所述数据为普通数据,将该普通数据中的普通参数序列化为第一字符串,并构建普通EMB消息对象,将所述第一字符串添加到所述普通EMB消息对象中。
当发送端通过EMB通讯接口调用外部接口函数后,需要根据该接口函数中所包含的参数的种类,判断传入发送端的数据中的参数为二进制参数还是普通参数。如果判断出数据中的参数为二进制参数,则构建单元21构建一个二进制EMB消息对象,本实施例中,可以通过调用new BinEMessage构造函数的方法来构建二进制EMB消息对象。构建了二进制EMB消息对象后,构造函数便可直接将数据中所包含的二进制参数写入到这个二进制EMB消息对象中,这样,二进制数据便可以通过EMB以二进制EMB消息对象传送至接收端。
如果根据接口函数中所包含的参数的种类,判断出数据中的参数不包含二进制参数,则这个数据便为普通数据,此时,第一序列化单元22需要将这个普通数据中的普通参数序列化为第一字符串,如果该普通数据为复杂的大数据对象,同样可以通过序列化的方式将其序列化为字符串。根据数据中的参数而序列化成的字符串为EMB通讯所支持的数据类型。然后,构建一个普通EMB消息对象,本实施例中,可以通过调用newEMessage构造函数的方法来构建普通EMB消息对象,然后将对普通参数进行序列化后的第一字符串添加到这个普通EMB消息对象中,本实施例中,可以通过调用add MessagObject构造函数的方法来将第一字符串添加至普通EMB消息对象中。这样,普通数据便可以通过EMB以普通EMB消息对象传送至接收端。
通过对传入到发送端中的数据中的参数类型进行分析,并且针对其参数类型为二进制参数还是普通参数,分别构建二进制EMB消息对象和普通EMB消息对象。增加了序列化的步骤,将普通参数序列化为字符串,即便是复杂的大数据,也可以简单地将其中的普通参数序列化为字符串,由于字符串为EMB通讯中可以支持的数据类型,因此,将字符串添加至普通EMB消息对象中,便可以实现数据的传递。这样,无论传入的数据是二进制数据、普通数据或复杂的大数据对象,都可以保证方便地对其进行传输,从而进一步减少了EMB数据传输业务的繁杂度。
参照图10,提出本发明企业消息总线传输数据的系统又一实施例,所述转化模块20还包括:
第二序列化单元23,用于判断所述数据中是否还包括普通参数,如是,将该普通参数序列化为第二字符串,并将所述第二字符串写入所述二进制EMB消息对象的消息头中。
当根据接口函数中所包含的参数的种类,判断传入发送端的数据中的参数类型为二进制参数,并且构建了二进制EMB消息对象,也将该二进制参数写入到二进制EMB消息对象中后,还需要判断这个数据中是否还包括普通参数,如包括,则说明传入发送端的数据为二进制数据和普通数据的组合。这时,第二序列化单元23就要将普通数据中的普通参数序列化为第二字符串,并且将第二字符串写入到所构建的二进制EMB消息对象的消息头中,这样,就可以将二进制数据和普通数据同时通过EMB以二进制EMB消息对象进行传递。
当分析出传入发送端的数据中所包含的参数类型为二进制参数,并且构建了二进制EMB消息对象后,根据接口函数,对该数据进行进一步地判断,判断其中是否还包括普通数据所包含的普通参数,如包括,则说明传入到发送端的数据为二进制数据和普通数据的组合,此时,将普通数据中的普通参数序列化为第二字符串,并且将第二字符串写入到二进制EMB消息对象的消息头中,这样,便可以通过二进制EMB消息对象来将二进制数据和普通数据方便地同时进行传递,而无需进行分次传递。
参照图11,提出本发明企业消息总线传输数据的系统另一实施例,所述接收端包括:
分析模块40,用于接收端分析所接收到的EMB消息对象的类型,并将所述EMB消息对象转化为数据对象;
返回模块50,用于根据所述数据对象进行业务处理,并将经过业务处理后的数据对象构建为返回EMB消息对象,将所述返回EMB消息对象返回至发送端。
在本实施例中,接收端通过消息接收接口接收来自发送端的EMB消息对象。当接收端接收到EMB消息对象后,首先,分析模块40要对这个EMB消息对象进行分析,即分析该EMB消息对象为二进制EMB消息对象还是普通EMB消息对象,然后,对EMB消息对象进行相应地转化,即转化为初始传入发送端的数据的数据对象。
当将EMB消息对象转化为初始传入发送端的数据对象后,接收端便会根据这个数据对象进行相应的业务处理。进行完业务处理后,还需要返回处理的结果给发送端,以供发送端根据接收端对数据对象的处理结果作相应的处理。因此,返回模块50还需要将经过处理的数据对象转化为返回EMB消息对象,才能通过EMB将EMB消息对象进行发送,本实施例中,还原的过程与发送端构建EMB消息对象的过程相同。所形成的返回EMB消息对象中包括了根据传入发送端的数据对象进行了处理后的数据参数。当发送端接收到返回EMB消息对象后,便可以提取其中的数据参数,将参数重新还原为数据对象,并进行相应的处理。
参照图12,在上述实施例中,所述分析模块40具体包括:
第一反序列化单元41,用于接收端分析所接收到的EMB消息对象的类型,若为普通EMB消息对象,则提取该普通EMB消息对象中的第一字符串,并将所述第一字符串反序列化为普通数据对象;
提取单元42,用于若为二进制EMB消息对象,则提取所述二进制EMB消息对象中的参数,并将所述参数转化为二进制数据。
当接收端通过消息接收接口接收到来自发送端的EMB消息对象,并对该EMB消息对象的类型进行了分析后,如分析出EMB消息对象为普通EMB消息对象,第一反序列化单元41则提取该普通EMB消息对象中由普通参数序列化而成的第一字符串,然后对第一字符串进行反序列化,即将第一字符串转化为初始传入发送端中的普通数据中所包含的普通参数,并且将该普通参数进行构造,从而可以得到普通数据对象。
如分析出EMB消息对象为二进制EMB消息对象,则提取单元42提取该EMB消息对象中所包含的二进制参数,并且将该二进制参数进行构造,即构造为初始传入发送端时的二进制数据对象。
接收端通过消息接收接口接收到发送端所发送的EMB消息对象后,首先对其进行分析,分析的目的是确定该EMB消息对象为二进制EMB消息对象还是普通EMB消息对象。并且根据所分析出的结果,进行相应地转化,将EMB消息对象转化为初始传入时的数据对象,并且对该数据对象进行相应的业务处理。当对数据进行了业务处理后,需要返回结果给发送端,这就需要将数据对象,然后,将还原后的EMB消息对象通过EMB返回给发送端以供发送端进行处理。
参照图13,提出本发明企业消息总线传输数据的系统再一实施例,所述分析模块40还包括:
第二反序列化单元43,用于判断所述二进制EMB消息对象的消息头中是否包括由所述普通参数序列化的第二字符串,如是,则提取所述第二字符串,并将所述第二字符串反序列化为普通数据对象。
当接收端分析出EMB消息对象为二进制EMB消息对象,并将其中的二进制参数进行提取并构造为初始传入发送端时的二进制数据对象后,还需要对该二进制EMB消息的消息头进行分析,即判断其中是否包括由普通参数序列化而成的第二字符串,如果包括,则说明传入发送端的数据为二进制数据和普通数据的组合。然后,第二反序列化单元43在二进制EMB消息的消息头中提取出其所包含的第二字符串,并且对该第二字符串进行反序列化,即将第二字符串转化为普通参数,从而可以得到普通数据对象。
当分析出EMB消息对象为二进制EMB消息对象,将其中的二进制参数进行提取并构造为初始传入发送端时的二进制数据对象后,还需对该二进制EMB消息对象的消息头进行分析以判断是否包括第二字符串,以此来判断传入发送端的数据中是否还包括普通数据,如包括,则将第二字符串提取并将其反序列化为普通参数以得到普通数据对象。通过这种方式,当传入发送端的数据为二进制数据和普通数据的组合时,也可以方便地将二进制数据和普通数据分别进行提取并转化,这使得对接收到的数据对象的处理更加简单。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围。
Claims (12)
1.一种企业消息总线传输数据的方法,其特征在于,包括:
发送端通过EMB通讯接口调用接口函数;
根据所述接口函数,分析传入发送端的数据中的参数类型,并根据所述参数类型将所述数据转化为EMB消息对象;
将所述EMB消息对象发送至接收端,以供接收端根据所述数据进行业务处理。
2.如权利要求1所述的方法,其特征在于,所述根据接口函数,分析传入发送端的数据中的参数类型,并根据所述参数类型将所述数据转化为EMB消息对象具体包括:
根据所述接口函数,判断所述传入发送端的数据中的参数是否为二进制参数,如是,则将所述数据构建为二进制EMB消息对象;
如否,则所述数据为普通数据,将该普通数据中的普通参数序列化为第一字符串,并构建普通EMB消息对象,将所述第一字符串添加到所述普通EMB消息对象中。
3.如权利要求2所述的方法,其特征在于,在执行判断所述传入发送端的数据中的参数是否为二进制参数,如是,则将所述数据构建为二进制EMB消息对象之后,还包括:
判断所述数据中是否还包括普通参数,如是,将该普通参数序列化为第二字符串,并将所述第二字符串写入所述二进制EMB消息对象的消息头中。
4.如权利要求3所述的方法,其特征在于,在执行所述将EMB消息对象发送至接收端,以供接收端根据所述数据进行业务处理之后,还包括:
接收端分析所接收到的EMB消息对象的类型,并将所述EMB消息对象转化为数据对象;
根据所述数据对象进行业务处理,并将经过业务处理后的数据对象构建为返回EMB消息对象,将所述返回EMB消息对象返回至发送端。
5.如权利要求4所述的方法,其特征在于,所述接收端分析所接收到的EMB消息对象的类型,并将所述EMB消息对象转化为数据对象包括:
接收端分析所接收到的EMB消息对象的类型,若为普通EMB消息对象,则提取该普通EMB消息对象中的第一字符串,并将所述第一字符串反序列化为普通数据对象;
若为二进制EMB消息对象,则提取所述二进制EMB消息对象中的参数,并将所述参数转化为二进制数据。
6.如权利要求5所述的方法,其特征在于,在执行所述提取二进制EMB消息中的参数,并将所述参数转化为二进制数据之后,还包括:
判断所述二进制EMB消息对象的消息头中是否包括由所述普通参数序列化的第二字符串,如是,则提取所述第二字符串,并将所述第二字符串反序列化为普通数据对象。
7.一种企业消息总线传输数据的系统,包括发送端和接收端,其特征在于,所述发送端包括:
调用模块,用于发送端通过EMB通讯接口调用接口函数;
转化模块,用于根据所述接口函数,分析传入发送端的数据中的参数类型,并根据所述参数类型将所述数据转化为EMB消息对象;
发送模块,用于将所述EMB消息对象发送至接收端,以供接收端根据所述数据进行业务处理。
8.如权利要求7所述的系统,其特征在于,所述转化模块包括:
构建单元,用于根据所述接口函数,判断所述传入发送端的数据中的参数是否为二进制参数,如是,则将所述数据构建为二进制EMB消息对象;
第一序列化单元,用于如否,则所述数据为普通数据,将该普通数据中的普通参数序列化为第一字符串,并构建普通EMB消息对象,将所述第一字符串添加到所述普通EMB消息对象中。
9.如权利要求8所述的系统,其特征在于,所述转化模块还包括:
第二序列化单元,用于判断所述数据中是否还包括普通参数,如是,将该普通参数序列化为第二字符串,并将所述第二字符串写入所述二进制EMB消息对象的消息头中。
10.如权利要求9所述的系统,其特征在于,所述接收端包括:
分析模块,用于接收端分析所接收到的EMB消息对象的类型,并将所述EMB消息对象转化为数据对象;
返回模块,用于根据所述数据对象进行业务处理,并将经过业务处理后的数据对象构建为返回EMB消息对象,将所述返回EMB消息对象返回至发送端。
11.如权利要求10所述的系统,其特征在于,所述分析模块包括:
第一反序列化单元,用于接收端分析所接收到的EMB消息对象的类型,若为普通EMB消息对象,则提取该普通EMB消息对象中的第一字符串,并将所述第一字符串反序列化为普通数据对象;
提取单元,用于若为二进制EMB消息对象,则提取所述二进制EMB消息对象中的参数,并将所述参数转化为二进制数据。
12.如权利要求11所述的系统,其特征在于,所述分析模块还包括:
第二反序列化单元,用于判断所述二进制EMB消息对象的消息头中是否包括由所述普通参数序列化的第二字符串,如是,则提取所述第二字符串,并将所述第二字符串反序列化为普通数据对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110375757.5A CN103136143B (zh) | 2011-11-23 | 2011-11-23 | 企业消息总线传输数据的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110375757.5A CN103136143B (zh) | 2011-11-23 | 2011-11-23 | 企业消息总线传输数据的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103136143A true CN103136143A (zh) | 2013-06-05 |
CN103136143B CN103136143B (zh) | 2015-12-16 |
Family
ID=48495987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110375757.5A Active CN103136143B (zh) | 2011-11-23 | 2011-11-23 | 企业消息总线传输数据的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103136143B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059679A1 (en) * | 2006-09-01 | 2008-03-06 | Freescale Semiconductor, Inc | Application processor circuit incorporating both sd host and slave functions and electronic device including same |
US20080114690A1 (en) * | 2006-10-26 | 2008-05-15 | International Business Machines Corporation | System and method for performing partner settlement for managed services in an ip multimedia subsystem (ims) network |
CN101453393A (zh) * | 2007-11-28 | 2009-06-10 | 新奥特(北京)视频技术有限公司 | 用于文件传输的企业网络系统 |
CN101588366A (zh) * | 2009-06-25 | 2009-11-25 | 用友软件股份有限公司 | 基于SaaS接入企业信息系统的系统和方法 |
CN101674255A (zh) * | 2008-09-12 | 2010-03-17 | 北京东方通科技发展有限责任公司 | 一种企业服务总线的消息转发方法、服务器及其系统 |
CN101697223A (zh) * | 2009-09-23 | 2010-04-21 | 易程科技股份有限公司 | 综合交通枢纽客流管理系统 |
-
2011
- 2011-11-23 CN CN201110375757.5A patent/CN103136143B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059679A1 (en) * | 2006-09-01 | 2008-03-06 | Freescale Semiconductor, Inc | Application processor circuit incorporating both sd host and slave functions and electronic device including same |
US20080114690A1 (en) * | 2006-10-26 | 2008-05-15 | International Business Machines Corporation | System and method for performing partner settlement for managed services in an ip multimedia subsystem (ims) network |
CN101453393A (zh) * | 2007-11-28 | 2009-06-10 | 新奥特(北京)视频技术有限公司 | 用于文件传输的企业网络系统 |
CN101674255A (zh) * | 2008-09-12 | 2010-03-17 | 北京东方通科技发展有限责任公司 | 一种企业服务总线的消息转发方法、服务器及其系统 |
CN101588366A (zh) * | 2009-06-25 | 2009-11-25 | 用友软件股份有限公司 | 基于SaaS接入企业信息系统的系统和方法 |
CN101697223A (zh) * | 2009-09-23 | 2010-04-21 | 易程科技股份有限公司 | 综合交通枢纽客流管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103136143B (zh) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102057654B (zh) | 移动装置的应用程序框架 | |
CN110445860B (zh) | 一种报文发送方法、装置、终端设备及存储介质 | |
CN101923485B (zh) | Corba系统中的java远程调用方法 | |
CN112527528A (zh) | 基于消息队列的数据传输方法、装置及存储介质 | |
CN111343020A (zh) | 多协议物联网设备的统一管理方法和装置 | |
CN105005471A (zh) | 修改bios的配置参数的方法、设备、服务器和系统 | |
CN101661535A (zh) | 一种远程实验系统及其实现方法 | |
CN103577320A (zh) | 远程终端测试方法及系统 | |
CN101854371A (zh) | JavaScript对象的调用及处理的方法、装置 | |
CN103546476A (zh) | 页面组件之间的消息传递方法及系统 | |
CN103297517A (zh) | 一种状态监测系统的分布式数据传输方法 | |
CN102866925B (zh) | 一种中间件与用户界面的通信方法和系统 | |
CN112689020B (zh) | 一种消息传输方法、消息中间件、电子设备及存储介质 | |
CN112306884A (zh) | 程序测试控制、执行方法及其相应的装置、设备、介质 | |
CN103532959A (zh) | 一种跨平台网络通信方法 | |
CN112306887A (zh) | 程序测试分发方法及其相应的装置、设备、介质 | |
CN111951040A (zh) | 信息发送方法及装置、电子设备、存储介质 | |
CN116366701A (zh) | 一种数字化楼宇的管理控制系统和方法 | |
CN103002047B (zh) | 一种rpc式web服务架构方法 | |
CN110022323A (zh) | 一种基于WebSocket与Redux的跨终端实时交互的方法和系统 | |
CN103136143B (zh) | 企业消息总线传输数据的方法及系统 | |
CN110098989A (zh) | 一种基于canfd总线的多路can仿真系统及测试方法 | |
CN103036911A (zh) | 业务数据处理系统和业务数据处理方法 | |
CN116452925A (zh) | 基于智能算法的监控视频鉴定系统 | |
CN102546637B (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 |