专利名称:一种消息传输控制方法及系统的制作方法
技术领域:
本发明涉及网络通信技术领域,尤其涉及一种消息传输控制方法及系统。
背景技术:
从集成技术层面来说,数据或消息传输涉及到至少两个系统,从集成角色上来说,数据或消息的传输却只涉及到发送方和接收方。因此,从系统层面来说,两个系统之间的传输控制是通过授权和角色定义来实现数据和消息的传输,现有的数据交换和业务集成在集成控制模式上主要有以下两种方案一种是点对点集成控制方法,这是最简单也是最普遍的一种集成访问权限控制方法,被访问系统通过判定接入的系统是否具备访问的权限,来决定是否允许该系统进行访问,这是一种基于固定的发送方、接收方和固定协议的数据交换和集成方法。另一种是企业服务总线集成模式控制方法,在企业服务总线集成模式下,企业服务总线完成数据路由和权限控制,由企业服务总线实现对消息发送方的权限许可判定,消息接收方完全信任来自企业服务总线的数据。从角色和协议来看,还是出于一种系统级的角色和协议的控制,这和现有的点到点集成控制方法的区别仅在于对权限的控制由一个系统中间件来实现。本发明的发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷对于点对点集成控制方法而言,只局限于接入一个系统的控制,当接入其它系统时每次都需要重新开发应用程序,导致周期太长、成本过高,已经无法满足互联网下日益增多的系统集成和业务协同的需求;对于企业服务总线集成模式控制方法而言,企业服务总线的系统不够开放,虽然在体系内实现了协议标准化,但通信协议仍然不开放,局限于企业标准,仅在企业内有效,仍然无法与多种系统集成,通用性不强。
发明内容
本发明实施例提供了一种消息传输控制方法及系统,用于实现与多种系统的集成,通用性强,不需要重新开发,成本较低。本发明实施例提供的一种消息传输控制方法,包括根据业务场景创建集成模板,所述集成模板包括角色和传输协议,所述角色和传输协议是根据所述业务场景中的多种业务规则而分别设定,所述角色包括发起角色和响应角色,所述发起角色和所述响应角色在所述集成模板中分别拥有各自的权限,所述发起角色和所述响应角色之间按照所述传输协议定义的数据格式传输消息;根据用户提供的系统实例和所述集成模板创建集成实例,所述集成实例是通过用户提供的系统实例分别扮演所述集成模板中的发起角色和响应角色得到;所述用户传输的消息的发送方在所述集成实例中扮演发起角色,用户传输的消息的接收方在所述集成实例中扮演响应角色,使用所述集成模板中的传输协议定义的数据格式传输所述消息的业务内容,所述消息包括发送方、接收方和业务内容。
本发明实施例提供的消息传输控制系统,包括集成模板创建单元、集成实例创建单元和投递引擎,其中;所述集成模板创建单元,用于为根据业务场景创建集成模板,所述集成模板包括角色和传输协议,所述角色和传输协议是根据所述业务场景中的多种业务规则而分别设定,所述角色包括发起角色和响应角色,所述发起角色和所述响应角色在所述集成模板中分别拥有各自的权限,所述发起角色和所述响应角色之间按照所述传输协议定义的数据格式传输消息;所述集成实例创建单元,用于为根据用户提供的系统实例和所述集成模板创建集成实例,所述集成实例是通过用户提供的系统实例分别扮演所述集成模板中的发起角色和响应角色得到;所述投递引擎,用于按照用户传输的消息的发送方在所述集成实例中扮演发起角色,所述消息的接收方在所述集成实例中扮演响应角色,使用所述集成模板中的传输协议定义的数据格式传输所述消息的业务内容,所述消息包括发送方、接收方和业务内容。从以上技术方案可以看出,本发明实施例具有以下优点在本发明实施例中,根据业务场景创建集成模板,根据用户提供的系统实例创建集成实例,集成实例为通过用户提供的系统实例分别通过扮演集成模板中的发起角色和响应得到,最后,用户传输的消息的发送方在集成实例中扮演发起角色,用户传输的消息的接收方在集成实例中扮演响应角色,使用集成模板中的传输协议定义的数据格式传输消息的业务内容,由于用户提供的系统实例分别通过扮演的发起角色和响应角色,使用集成模板中的传输协议定义的数据格式传输消息的业务内容,由于消息的业务内容的传输都是由各自扮演的角色实现,而不是由用户的系统实例直接传输消息的业务内容,能够实现与多种系统的集成,通用性强,不需要重新开发,成本较低。
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。图I为本发明实施例提供的一种消息传输控制方法的示意图;图2为本发明实施例提供的集成模板的组成示意图;图3为本发明实施例提供的集成实例的组成示意图;图4为本发明实施例提供的另一种消息传输控制方法的示意图;图5为本发明实施例提供的从集成实例库中选取集成实例传输消息的业务内容的不意图;图6为本发明实施例提供的一种消息传输控制系统的示意图;图7为本发明实施例提供的另一种消息传输控制系统的示意图。
具体实施例方式本发明实施例提供了一种消息传输控制方法及系统,用于实现与多种系统的集成,通用性强,不需要重新开发,成本较低。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供的一种消息传输控制方法,如图I所示,包括101、根据业务场景创建集成模板。其中,集成模板包括角色和传输协议,角色和传输协议是根据业务场景中的多种业务规则而分别设定,角色包括发起角色和响应角色,发起角色和响应角色在集成模板中分别拥有各自的权限,发起角色和响应角色之间按照传输协议定义的数据格式传输消息。在本发明实施例中,角色包括发起角色和响应角色,发起角色和响应角色之间通过传输协议建立联系。在实际应用中,存在多种不同的业务场景,例如企业的财务核算、分销商向厂商订货等分别是不同的业务场景。在同一个业务场景下,分别存在有许多不同的业务规则,例如在分销商向厂商订货的业务场景下,厂商向分销商发布产品、分销商向厂商查询库存、分销商向厂商下订单、厂商向分销商确认订单等都是各种不同的业务规则。在本发明实施例中,集成模板是一种集成需求的实现规范,描述一个集成的业务场景中多种应用角色之间的信息传递规则和路径,一种集成模板表示一种业务场景,集成模板包括角色和传输协议。集成模板定义了一个封闭的系统,每个集成模板包含若干角色,两个角色之间可以通过传输协议建立联系。需要说明的是,在本发明实施例中设定角色和传输协议时会根据业务规则的不同而设定不同角色和不同的传输协议,角色是进行某一类业务交易的参与方,可以包括发起角色和响应角色,传输协议为定义一个消息中所包含的业务数据的描述规范和格式,在实际应用中根据具体的业务场景而设定不同的传输协议,例如二进制字符、可扩展标记语言(XML, Extensible MarkupLanguage),简单的字符串等。例如在分销商向厂商订货的业务场景下,根据该业务场景创建了一种集成模板A,在集成模板A中,一种具体的业务规则为厂商向分销商发布产品,此时在集成模板A中,发起角色为厂商,响应角色为分销商,发起角色和响应角色之间按照一种预置的传输协议定义的数据格式传输消息,发起角色和响应角色在集成模板A中分别拥有各种的权限,该权限为发起角色向响应角色发布产品,发起角色向响应角色传输的消息内容就是关于发布产品的彳目息等。在本发明实施例中,一种集成模板定义了一个封闭的系统,每个集成模板包含若干角色,两个角色之间可以通过传输协议建立联系,如图2所示,集成模板M中包括角色A、角色B、角色C、角色D,以及传输协议X、传输协议Y、传输协议Z,角色A和角色B之间通过传输协议X建立联系,角色B和角色C之间通过传输协议Y建立联系,角色C和角色D之间通过传输协议Z建立联系,在集成模板M中,只有角色A和角色B、角色B和角色C、角色C和角色D之间才能进行消息的传输,而角色A和角色C、角色A和角色D、角色B和角色D不能够直接进行消息的传输,可以有效的保证消息的隔离。用户提供的系统实例通过扮演集成模板中的角色获得角色拥有的权限,在本发明实施例中,集成实例是集成模板的一个具体实现,在集成模板的基础上,由系统实例扮演集成实例中的角色,并按照角色所允许的信息传递规则和路径传递消息,可以根据一个集成模板创建多个集成实例。集成实例是在集成模板基础上创建的一套对象,这套对象参考集成模板定义的规则控制数据传输权限,如图3所示,系统实例I扮演集成实例M中的角色A,获得角色A在集成实例M中所拥有的权限,实现向角色B传输消息,同样,系统实例2扮演集成实例M中的角色B,系统实例3扮演集成实例M中的角色C,系统实例4扮演集成实例M中的角色D。 102、根据用户提供的系统实例和集成模板创建集成实例。其中,集成实例是通过用户提供的系统实例分别扮演集成模板中的发起角色和响应角色得到。在本发明实施例中,根据用户提供的集成实例和101中创建的集成模板创建集成实例,创建集成实例的方法是用户提供的系统实例分别扮演集成模板中的发起角色和响应角色,从而获取各个角色拥有的权限。在本发明实施例中,集成实例是集成模板的一个具体实现,在集成模板的基础上由系统实例分别扮演不同的角色得到集成实例,可以根据一个集成模板创建多个集成实例。集成实例是在集成模板基础上创建的一套对象,这套对象参考集成模板定义的规则控制数据传输权限,如图3所示,系统实例I扮演集成实例M中的角色A,获得角色A在集成实例M中所拥有的权限,此时系统实例I可以通过扮演的角色A使用集成实例M中的传输协议X实现向角色B传输消息的业务内容,同样,系统实例2扮演集成实例M中的角色B,系统实例3扮演集成模板M中的角色C,系统实例4扮演集成模板M中的角色D。103、用户传输的消息的发送方在集成实例中扮演发起角色,用户传输的消息的接收方在集成实例中扮演响应角色,使用集成模板中的传输协议定义的数据格式传输消息的业务内容。其中,用户传输的消息包括发送方、接收方和业务内容。在本发明实施例中,当创建完成集成实例之后,用户对消息的传输就可以在集成实例中完成,消息的传输过程为用户传输的消息的发送方在集成实例中扮演发起角色,用户传输的消息的接收方在集成实例中扮演响应角色,使用集成模板中的传输协议定义的数据格式传输消息的业务内容,其中,用户传输的消息包括发送方、接收方和业务内容。例如如图3所示,用户传输的消息的发送方为系统实例1,用户传输的消息的接收方为系统实例2,系统实例I扮演集成模板M中的角色A,获得角色A在模板M中所拥有的权限,此时系统实例I可以通过扮演的角色A使用集成实例M中的传输协议X实现向角色B传输消息的业务内容,系统实例2扮演集成实例M中的角色B,此时系统实例2可以通过扮演的角色B获得由角色A发送的消息的业务内容。需要说明的是,用户传输的消息包括发送方、接收方和业务内容,例如,用户提供的消息具体可以为
权利要求
1.一种消息传输控制方法,其特征在于,包括 根据业务场景创建集成模板,所述集成模板包括角色和传输协议,所述角色和传输协议是根据所述业务场景中的多种业务规则而分别设定,所述角色包括发起角色和响应角色,所述发起角色和所述响应角色在所述集成模板中分别拥有各自的权限,所述发起角色和所述响应角色之间按照所述传输协议定义的数据格式传输消息; 根据用户提供的系统实例和所述集成模板创建集成实例,所述集成实例是通过用户提供的系统实例分别扮演所述集成模板中的发起角色和响应角色得到; 所述用户传输的消息的发送方在所述集成实例中扮演发起角色,用户传输的消息的接收方在所述集成实例中扮演响应角色,使用所述集成模板中的传输协议定义的数据格式传输所述消息的业务内容,所述消息包括发送方、接收方和业务内容。
2.根据权利要求I所述的消息传输控制方法,其特征在于,所述方法还包括 按照所述根据业务场景创建集成模板的方式,在不同的业务场景下创建不同的集成模板,将创建的所有集成模板构成集成模板库; 根据用户提供的系统实例从集成模板库中选取集成模板,根据用户提供的系统实例和从集成模板库中选取的集成模板创建集成实例; 按照所述根据用户提供的系统实例和从集成模板库中选取的集成模板创建集成实例的方式,在用户提供的多种系统实例和从集成模板库中选取不同集成模板的情况下,分别创建不同的集成实例,将创建的所有集成实例构成集成实例库; 所述用户传输的消息的发送方在所述集成实例中扮演发起角色,用户传输的消息的接收方在所述集成实例中扮演响应角色,使用所述集成模板中的传输协议定义的数据格式传输所述消息的业务内容包括 所述消息的发送方和所述消息的接收方从集成实例库中选取集成实例分别扮演选取的集成实例中的角色实现所述消息的业务内容的传输。
3.根据权利要求2所述的消息传输控制方法,其特征在于,所述消息的发送方和所述消息的接收方从集成实例库中选取集成实例分别扮演选取的集成实例中的角色实现所述消息的业务内容的传输包括 接收所述消息的发送方发送的投递申请,所述投递申请用于表示所述消息的发送方将所述消息的业务内容发送给所述消息的接收方; 判断所述发送方和所述接收方是否隶属于集成实例库中的同一个集成实例,若是,查找所述发送方在同一个集成实例中扮演的发起角色和所述接收方在同一集成实例中扮演的响应角色,若不是,拒绝所述发送方的投递申请; 当查找到所述发送方和所述接收方在同一个集成实例中分别扮演的角色后,判断所述发送方扮演的发起角色和所述接收方扮演的响应角色在同一集成实例中是否存在预置的传输协议,若不存在预置的传输协议,拒绝所述发送方的投递申请;若存在预置的传输协议,判断所述预置的传输协议定义的数据格式是否与所述消息的业务内容的数据格式相同,若相同,在同一集成实例中将所述投递申请需要投递的消息的业务内容从所述发送方扮演的发起角色传输到所述接收方扮演的响应角色,若不相同,拒绝所述发送方的投递申请。
4.根据权利要求I至3中任一项所述的消息传输控制方法,其特征在于,所述发送方和所述接收方是通过网络协议IP地址标记的。
5.根据权利要求I至3中任一项所述的消息传输控制方法,其特征在于,所述传输协议为可扩展标记语言XML的规范与标准。
6.根据权利要求I所述的消息传输控制方法,其特征在于,所述使用所述集成模板中的传输协议定义的数据格式传输所述消息的业务内容是通过公共数据网络进行传输的。
7.根据权利要求3所述的消息传输控制方法,其特征在于,所述在同一集成实例中将所述投递申请需要投递的消息的业务内容从所述发送方扮演的发起角色传输到所述接收方扮演的响应角色是通过公共数据网络进行传输的。
8.一种消息传输控制系统,其特征在于,包括集成模板创建单元、集成实例创建单元和投递引擎,其中; 所述集成模板创建单元,用于为根据业务场景创建集成模板,所述集成模板包括角色和传输协议,所述角色和传输协议是根据所述业务场景中的多种业务规则而分别设定,所述角色包括发起角色和响应角色,所述发起角色和所述响应角色在所述集成模板中分别拥有各自的权限,所述发起角色和所述响应角色之间按照所述传输协议定义的数据格式传输消息; 所述集成实例创建单元,用于为根据用户提供的系统实例和所述集成模板创建集成实例,所述集成实例是通过用户提供的系统实例分别扮演所述集成模板中的发起角色和响应角色得到; 所述投递引擎,用于按照用户传输的消息的发送方在所述集成实例中扮演发起角色,所述消息的接收方在所述集成实例中扮演响应角色,使用所述集成模板中的传输协议定义的数据格式传输所述消息的业务内容,所述消息包括发送方、接收方和业务内容。
9.根据权利要求8所述的消息传输控制系统,其特征在于,所述系统还包括集成模板库创建单元、集成实例库创建单元,其中, 所述集成模板库创建单元,用于按照所述集成模板创建单元创建集成模板的方式,在不同的业务场景下创建不同的集成模板,将创建的所有集成模板构成集成模板库; 所述集成实例库创建单元,用于根据用户提供的系统实例从集成模板库中选取集成模板,根据用户提供的系统实例和从集成模板库中选取的集成模板创建集成实例;按照所述集成实例创建单元创建集成实例的方式,在用户提供的多种系统实例和从集成模板库中选取不同集成模板的情况下,分别创建不同的集成实例,将创建的所有集成实例构成集成实例库; 所述投递引擎,具体用于按照所述消息的发送方和所述消息的接收方从集成实例库中选取集成实例分别扮演从选取的集成实例中的角色实现所述消息的业务内容的传输。
10.根据权利要求9所述的消息传输控制系统,其特征在于,所述投递引擎包括 接收单元,用于接收所述消息的发送方发送的投递申请,所述投递申请用于表示所述消息的发送方将所述消息的业务内容发送给所述消息的接收方; 第一判断单元,用于判断所述发送方和所述接收方是否隶属于集成实例库中的同一个集成实例; 第一查找单元,用于当所述发送方和所述接收方隶属于同一个集成实例时,查找所述发送方在同一个集成实例中所扮演的发起角色;第二查找单元,用于当所述发送方和所述接收方隶属于同一个集成实例时,查找所述接收方在同一个集成实例中所扮演的响应角色; 第二判断单元,用于判断所述发送方扮演的发起角色和所述接收方扮演的响应角色在同一集成实例中是否存在预置的传输协议; 第三判断单元,用于判断所述预置的传输协议定义的数据格式与所述消息的业务内容的数据格式是否相同; 投递单元,用于当所述预置的传输协议定义的数据格式和所述消息的业务内容的数据格式相同时,在同一集成实例中将所述投递申请需要投递的消息的业务内容从发送方扮演的发起角色传输到所述接收方扮演的响应角色; 拒绝单元,用于在不满足所述第一判断单元、所述第二判断单元、所述第三判断单元中的至少一个判断条件时,拒绝所述发送方的投递申请。·
全文摘要
本发明实施例公开了一种消息传输控制方法及系统。本发明实施例方法包括根据业务场景创建集成模板,集成模板包括角色和传输协议,角色和传输协议是根据业务场景中的多种业务规则而分别设定,角色包括发起角色和响应角色,发起角色和响应角色在集成模板中分别拥有各自的权限,发起角色和响应角色之间按照传输协议定义的数据格式传输消息;根据用户提供的系统实例和集成模板创建集成实例,集成实例是通过用户提供的系统实例分别扮演集成模板中的发起角色和响应角色得到;用户传输的消息的发送方在集成实例中扮演发起角色,用户传输的消息的接收方在集成实例中扮演响应角色,使用集成模板中的传输协议定义的数据格式传输消息的业务内容。
文档编号H04L12/58GK102932386SQ20111022875
公开日2013年2月13日 申请日期2011年8月10日 优先权日2011年8月10日
发明者雷中南 申请人:深圳市金蝶友商电子商务服务有限公司