一种发送消息的方法和系统.pdf

上传人:t**** 文档编号:5871806 上传时间:2019-03-27 格式:PDF 页数:16 大小:564.17KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010155677.4

申请日:

2010.04.23

公开号:

CN102238094A

公开日:

2011.11.09

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 12/58申请日:20100423|||公开

IPC分类号:

H04L12/58; H04L29/06; G06Q30/00

主分类号:

H04L12/58

申请人:

阿里巴巴集团控股有限公司

发明人:

金伟安

地址:

英属开曼群岛大开曼岛资本大厦一座四层847号邮箱

优先权:

专利代理机构:

北京集佳知识产权代理有限公司 11227

代理人:

逯长明;王宝筠

PDF下载: PDF下载
内容摘要

本申请实施例公开了一种消息外发方法和系统。其中,所述方法包括:消息发送系统接收第一业务系统发送的创建外发消息的指令,根据所述指令创建外发消息,将所述外发消息发送给第二业务系统和消息存储区;消息存储区存储所述外发消息;消息分析系统从所述消息存储区读取外发消息,根据读取的外发消息判断所述第一业务系统是否按照非正常方式发送外发消息,所述非正常方式发送外发消息包括重复发送外发消息、发送未规定发送的外发消息或者漏发规定发送的外发消息,以便当判断是时,进行对外报警。根据本申请实施例,可以在两个大型的业务系统之间在外发消息过程中可以正常地工作。

权利要求书

1.一种发送消息的方法,其特征在于,包括:
消息发送系统接收第一业务系统发送的创建外发消息的指令,根据所述
指令创建外发消息,将所述外发消息发送给第二业务系统和消息存储区;
消息存储区存储所述外发消息;
消息分析系统从所述消息存储区读取外发消息,根据读取的外发消息判
断所述第一业务系统是否按照非正常方式发送外发消息,所述非正常方式发
送外发消息包括重复发送外发消息、发送未规定发送的外发消息或者漏发规
定发送的外发消息,以便当判断是时,进行对外报警。
2.根据权利要求1所述的方法,其特征在于,所述消息分析系统从所述
消息存储区读取外发消息包括:
消息分析系统周期性地从所述消息存储区读取外发消息。
3.根据权利要求1所述的方法,其特征在于,所述消息分析系统从所述
消息存储区读取外发消息包括:
当接收到所述第一业务系统发送的触发命令时,消息分析系统从所述消
息存储区读取外发消息。
4.根据权利要求1所述的方法,其特征在于,所述消息分析系统根据读
取的外发消息判断所述第一业务系统是否按照非正常方式发送外发消息包
括:
消息分析系统从所述读取的外发消息中分别提取出交易号码和交易状
态;
消息分析系统判断是否存在包含相同交易号码和相同交易状态的外发消
息,如果是,则判定所述第一业务系统重复发送外发消息。
5.根据权利要求1所述的方法,其特征在于,所述消息分析系统根据读
取的外发消息判断所述第一业务系统是否按照非正常方式发送外发消息包
括:
消息分析系统从所述读取的外发消息中分别提取出交易状态和卖家账
号;
消息分析系统判断与相同卖家账号对应的交易状态是否为预先规定的交
易状态,如果包括非预先规定的交易状态,则判定所述第一业务系统发送未
规定发送的外发消息,如果没有包括预先规定的交易状态,则判定所述第一
业务系统漏发规定发送的外发消息。
6.一种发送消息的系统,其特征在于,包括:消息发送系统、消息存储
区和消息分析系统,其中,
所述消息发送系统,用于接收第一业务系统发送的创建外发消息的命令,
根据所述指令创建外发消息,将所述外发消息发送给第二业务系统和消息存
储区;
所述消息存储区,用于存储所述外发消息;
所述消息分析系统,用于从所述消息存储区读取外发消息,根据读取的
外发消息判断所述第一业务系统是否按照非正常方式发送外发消息,所述非
正常方式发送外发消息包括重复发送外发消息、发送未规定发送的外发消息
或者漏发规定发送的外发消息,以便当判断是时,进行对外报警。
7.根据权利要求6所述的系统,其特征在于,所述消息外发系统包括:
接收单元,用于接收第一业务系统发送的创建外发消息的指令;
创建单元,用于根据所述指令创建外发消息;
发送单元,用于将所述外发消息发送给第二业务系统和消息存储区。
8.根据权利要求6所述的系统,其特征在于,所述消息分析系统包括:
触发单元,用于向读取单元发送触发命令;
读取单元,用于根据所述触发命令从所述消息存储区读取外发消息;
判断单元,用于根据读取的外发消息判断所述第一业务系统是否按照非
正常方式发送外发消息,所述非正常方式发送外发消息包括重复发送外发消
息、发送未规定发送的外发消息或者漏发规定发送的外发消息,以便当判断
是时,进行对外报警。
9.根据权利要求8所述的系统,其特征在于,所述触发单元包括::
事件触发子单元,用于当接受到第一业务系统发送的触发命令后,向所
述读取单元发送触发命令;
或者,
定时器,用于周期性地向读取单元发送触发命令。
10.根据权利要求8所述的系统,其特征在于,所述判断单元包括:
第一提取子单元,用于从读取的外发消息中分别提取出交易号码和交易
状态;
第一判断子单元,用于判断是否存在包含相同交易号码和相同交易状态
的外发消息,如果是,则判定所述第一业务系统重复发送外发消息。
11.根据权利要求8所述的系统,其特征在于,所述判断单元包括:
第二提取子单元,用于从读取的外发消息中分别提取出交易状态和卖家
账号;
第二判断子单元,用于判断与相同卖家账号对应的交易状态是否为预先
规定的交易状态,如果包括非预先规定的交易状态,则判定所述第一业务系
统发送未规定发送的外发消息,如果没有包括预先规定的交易状态,则判定
所述第一业务系统漏发规定发送的外发消息。

说明书

一种发送消息的方法和系统

技术领域

本申请涉及通信和计算机技术领域,特别是涉及一种发送消息的方法和
系统。

背景技术

随着互联网技术的发展,网上大型业务系统之间的交互就变得越来越频
繁,通常情况下这种大型业务系统之间的同步性都是通过外发消息来完成的。
比如说,一个电子商务网站(如淘宝)和一个第三方支付公司(如支付宝),
在用户完成一笔交易的过程中,两者之间存在多次交互,请参阅图1所示,
在每次交互过程中,第三方支付系统都会向电子商务网站发送反映某一个物
品交易状态的交易消息,同时,电子商务网站依据每个交易消息所反馈的内
容执行下一步的交易操作。

例如,当买家在某电子商务网站中购买一个网上物品时,第三方支付系
统首先向该电子商务网站发送交易创建消息;当买家通过第三方支付系统付
款成功时,第三方支付系统向该电子商务网站发送买家付款消息;当该电子
商务网站通过第三方支付系统将网上物品发货时,第三方支付系统向该电子
商务网站发送卖家发货消息;当买家通过第三方支付系统确认收到货物后,
第三方支付系统向该电子商务网站发送买家确认消息。

由此可见,一笔交易从创建、付款、发货到买家确认,第三方支付系统
都需要发送相应的交易消息给电子商务网站。如果第三方支付系统进行升级,
第三方支付系统可能会按照非正常方式发送交易消息,如,重复发送交易消
息、发送未规定发送的交易消息或者漏发规定发送的交易消息。因此,当第
三方支付系统进行升级时,第三方支付系统很有可能无法正确地发送交易消
息,致使电子商务网站无法正常工作。因此,对于诸如电子商务网站这样的
业务系统而言,第三方支付系统是否能够准确地发送交易消息是十分重要的。

发明内容

为了解决上述技术问题,本申请实施例提供了一种发送消息的方法和系
统,以保证两个大型的业务系统之间在外发消息过程中可以正常地工作。

本申请实施例公开了如下技术方案:

一种发送消息的方法,包括:消息发送系统接收第一业务系统发送的创
建外发消息的指令,根据所述指令创建外发消息,将所述外发消息发送给第
二业务系统和消息存储区;消息存储区存储所述外发消息;消息分析系统从
所述消息存储区读取外发消息,根据读取的外发消息判断所述第一业务系统
是否按照非正常方式发送外发消息,所述非正常方式发送外发消息包括重复
发送外发消息、发送未规定发送的外发消息或者漏发规定发送的外发消息,
以便当判断是时,进行对外报警。

一种发送消息的系统,包括:消息发送系统、消息存储区和消息分析系
统,其中,所述消息发送系统,用于接收第一业务系统发送的创建外发消息
的命令,根据所述指令创建外发消息,将所述外发消息发送给第二业务系统
和消息存储区;所述消息存储区,用于存储所述外发消息;所述消息分析系
统,用于从所述消息存储区读取外发消息,根据读取的外发消息判断所述第
一业务系统是否按照非正常方式发送外发消息,所述非正常方式发送外发消
息包括重复发送外发消息、发送未规定发送的外发消息或者漏发规定发送的
外发消息,以便当判断是时,进行对外报警。

由上述实施例可以看出,第一业务系统向第二业务系统发送交易消息,
消息分析系统获取第一业务系统发送给第二业务系统的交易消息,并根据获
取的交易消息判断第一业务系统是否按照非正常方式发送获取的交易消息的
方式检测第一业务系统是否重复发送交易消息、发送未规定发送的交易消息
或者漏发规定发送的交易消息。当出现上述故障情况时,进行对外报警,以
便对出现故障的第一业务系统进行即时修正,最终进一步保证两个大型的业
务系统之间在外发消息过程中可以正常地工作。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实
施例或现有技术描述中所需要使用的附图作简单地介绍,对于本领域普通技
术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其
他的附图。

图1为现有技术中一种交互系统的系统架构图;

图2为本申请一种发送消息的方法一个实施例的流程图;

图3为本申请一种消息外发系统架构图;

图4为本申请一种发送消息的方法的另一个实施例的流程图;

图5为本申请一种发送消息的系统的一个实施例的结构图;

图6为为本申请一种发送消息的系统的另一个实施例的结构图;

图7为本申请中一种消息分析系统的一个实施例的结构图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图
对本申请实施例进行详细描述。

实施例一

请参阅图2,其为本申请一种发送消息的方法的一个实施例的流程图,该
方法包括以下步骤:

步骤201:消息发送系统接收第一业务系统发送的创建外发消息的指令,
根据所述指令创建外发消息,将所述外发消息发送给第二业务系统和消息存
储区;

例如,第一业务系统为第三方支付系统,第二业务系统为电子商务网站,
在一笔交易从创建、付款、发货到买家确认的过程中,消息发送系统接收第
三方支付系统发送的创建交易消息的指令,根据所述指令创建交易消息,将
交易消息发送给电子商务网站和消息存储区。当然,第一业务系统和第二业
务系统还可以是通过外发消息来完成同步性的其他任意两个业务系统,本申
请实施例对此并不限定。

步骤202:消息存储区存储所述外发消息;

需要说明的是,除了第一业务系统和第二业务系统之外,本申请实施例
中的消息分析系统、消息发送系统和消息存储区可以是逻辑上的功能实体,
也可以是能够实现该等功能的实体装置。其中,消息分析系统、消息发送系
统和消息存储区可以是分别独立于第一业务系统和第二业务系统的三个服务
器,或者,也可以集成在独立于第一业务系统和第二业务系统的一个服务器
中,或者,还可以集成在第一业务系统或第二业务系统所在的服务器中,本
申请实施例对此并不限定。

步骤203:消息分析系统从所述消息存储区读取外发消息,根据读取的外
发消息判断所述第一业务系统是否按照非正常方式发送外发消息,所述非正
常方式发送外发消息包括重复发送外发消息、发送未规定发送的外发消息或
者漏发规定发送的外发消息,以便当判断是时,进行对外报警。

例如,请参阅图3,其为本申请一种消息外发系统架构图。如图3所示,
在消息外发系统中,第一业务系统位于电子支付服务器中,第二业务系统位
于电子商务网站服务器中,消息分析系统独立地位于一个消息分析服务器中,
消息发送系统独立地位于一个消息发送服务器中,消息存储区位于消息分析
服务器和消息发送服务器的外部,形成一个独立的外部的消息存储区。如图3
所示,先由电子支付服务器中的消息发送系统接收电子支付服务器中的第一
业务系统发送的创建外发消息的指令,根据所述指令创建外发消息,将外发
消息发送给电子商务网站服务器中的第二业务系统和外部的消息存储区。再
由消息分析服务器中的消息分析系统从外部的消息存储区中读取外发消息并
进行分析。

其中,消息发送系统可以每向第二业务系统发送一个外发消息的同时,
即将该外发消息发送至外部的消息存储区进行存储。优选的,为了避免消息
发送系统频繁执行发送操作而引起的过度系统消耗,也可以每隔一定的时间
周期,将达到一定数量的外发消息发送至外部的消息存储区进行存储。

上述消息分析系统从所述消息存储区读取外发消息包括:消息分析系统
周期性地从所述消息存储区读取外发消息;或者,当接收到所述第一业务系
统发送的触发命令时,消息分析系统从所述消息存储区读取外发消息。

如,在消息分析系统内部设定一个定时器,每当定时器超时时,周期性
地发送触发命令触发消息分析系统,当消息分析系统接收到这个触发命令后,
周期性地从消息存储区中读取外发消息,从而实现以时间触发的方式从消息
存储区读取外发消息。可替换的,也可以采用事件触发的方式从消息存储区
读取交易消息。如,当消息发送系统每隔一定的时间周期,将达到一定数量
的外发消息发送至消息存储区进行存储时,同时向消息分析系统发送一个触
发命令,当消息分析系统收到这个触发命令时,即从消息存储区读取外发消
息。

当然,消息分析系统除了可以从消息存储区读取外发消息之外,还可以
将消息存储区与消息分析系统集成在一起,即,消息分析系统自身包含有一
个内部的消息存储区,由消息分析系统直接接收消息发送系统发送的外发消
息并存储。如,每当消息发送系统向第二业务系统发送一个外发消息的同时,
即向消息分析系统发送该外发消息,由消息分析系统中的内部的消息存储区
存储该外发消息。优选的,为了避免消息发送系统和消息分析系统频繁执行
发送和存储操作而引起的过度系统消耗,消息发送系统也可以每隔一定的时
间周期,将达到一定数量的外发消息发送至消息分析系统,由消息分析系统
中的内部的消息存储区存储交易消息。

其中,对于第一业务系统重复发送交易消息的情况,所述消息分析系统
根据读取的外发消息判断所述第一业务系统是否按照非正常方式发送外发消
息包括:消息分析系统从所述读取的交易消息中分别提取出交易号码和交易
状态;消息分析系统判断是否存在包含相同交易号码和相同交易状态的外发
消息,如果是,则判定所述第一业务系统重复发送外发消息。

例如,第一业务系统为第三方支付系统,第二业务系统为电子商务网站,
消息发送系统发送给第二业务系统的外发消息为交易消息,且消息分析系统
读取的交易消息有10个,而由消息发送系统发送给电子商务网站的交易消息
至少包括有:交易号码、交易状态、交易金额、卖家账号和买家账号。从10
个交易消息中分别提取每个交易消息中的交易号码和交易状态,判断是否存
在包含相同交易号码和相同交易状态的交易消息。如,以交易消息为交易创
建消息为例,在第三方支付系统升级前后,有可能将某一个交易的交易创建
消息重复发送两次,此时,重复发送的两个交易创建消息会具有相同的交易
号码和交易状态,根据对比每个交易消息中的交易号码和交易状态,即可从
获取的交易消息中得出是否存在重复发送的交易消息。当然,重复发送交易
消息的次数不限定只为两个,也有可能是两个以上的多个交易消息被重复发
送。

其中,对于第一业务系统发送未规定发送的外发消息或者漏发规定发送
的外发消息的情况,所述消息分析系统根据读取的外发消息判断所述第一业
务系统是否按照非正常方式发送外发消息包括:消息分析系统从所述读取的
外发消息中分别提取出交易状态和卖家账号;消息分析系统判断与相同卖家
账号对应的交易状态是否为预先规定的交易状态,如果包括非预先规定的交
易状态,则判定所述第一业务系统发送未规定发送的外发消息,如果没有包
括预先规定的交易状态,则判定所述第一业务系统漏发规定发送的外发消息。

仍旧以第一业务系统为第三方支付系统,第二业务系统为电子商务网站,
消息发送系统发送给第二业务系统的外发消息为交易消息,且消息分析系统
读取的交易消息有10个,而由消息发送系统发送给电子商务网站的交易消息
至少包括有:交易号码、交易状态、交易金额、卖家账号和买家账号为例来
进行说明。从10个交易消息中分别提取每个交易消息中的交易状态和卖家账
号,如果具有相同卖家账号A的交易消息有5个,该5个交易消息分别对应
的交易状态为:付款、下单、付款、发货、收货。而具有卖家账号A的卖家
不需要第三方支付系统发送有关下单状态的交易消息时,则与卖家账号A所
对应的预先规定的交易状态不包括下单状态,而是只包括有付款、发货和收
货状态。可见,上述5个交易消息中(第二个交易消息)包括有非预先规定
的交易状态,则判定第三方支付系统发送了未规定发送的交易消息。如果具
有相同卖家账号A的交易消息有5个,该5个交易消息分别对应的交易状态
为:付款、付款、付款、发货、收货。而具有卖家账号A的卖家需要第三方
支付系统发送所有交易状态的交易消息时,则与卖家账号A所对应的预先规
定的交易状态包括下单、付款、发货和收货状态。可见,上述5个交易消息
中没有包括预先规定的交易状态(下单状态),则第三方支付系统漏发规定发
送的交易消息。

需要说明的是,消息分析系统可以只检测第一业务系统是否重复发送外
发消息,或者只检测第一业务系统是否发送未规定发送的外发消息,或者,
只检测第一业务系统是否漏发规定发送的外发消息,也可以同时对上述三种
非正常方式发送外发消息的情况进行检测。

当消息分析系统发现第一业务系统重复发送外发消息、发送未规定发送
的外发消息或者漏发规定发送的外发消息时,消息分析系统向第一业务系统
进行报警。具体可以为:由消息分析系统向第一业务系统发送异常消息进行
报警提示,或者,由消息分析系统向系统管理员发送短信或email进行报警提
示。当第一业务系统或者系统管理员得到消息分析系统发送的报警信息后,
系统管理员使第一业务系统停止向外发送创建外发消息的指令,并对第一业
务系统进行修护,待系统管理员修护后,第一业务系统继续正常向外发送创
建外发消息的指令。

由上述实施例可以看出,第一业务系统向第二业务系统发送交易消息,
消息分析系统获取第一业务系统发送给第二业务系统的交易消息,并根据获
取的交易消息判断第一业务系统是否按照非正常方式发送获取的交易消息的
方式检测第一业务系统是否重复发送交易消息、发送未规定发送的交易消息
或者漏发规定发送的交易消息。当出现上述故障情况时,进行对外报警,以
便对出现故障的第一业务系统进行即时修正,最终进一步保证两个大型的业
务系统之间在外发消息过程中可以正常地工作。

实施例二

下面以一个具体的应用场景为例详细说明消息外发的方法。其中,在本
实施例的应用场景如图3所示,作为第一业务系统的第三方支付系统位于一
个电子支付服务器中,作为第二业务系统的电子商务网站位于电子商务网站
服务器中,消息分析系统独立地位于一个消息分析服务器中,消息发送系统
独立地位于一个消息发送服务器中,消息存储区位于消息分析服务器和消息
发送服务器的外部,形成一个外部的消息存储区,并由时间触发该消息分析
系统定时读取外部的消息存储区中的交易消息。请参阅图4,其为本申请一种
发送消息的方法的另一个实施例的流程图,包括以下步骤:

步骤401:消息发送系统接收第三方支付系统发送的创建交易消息的指
令,根据所述指令,创建交易消息;

步骤402:消息发送系统在将交易消息发送给电子商务网站后,周期性地
将一定量的交易消息发送至外部的消息存储区进行存储;

其中,所述的交易消息至少包括:交易创建消息、买家付款消息、卖家
发货消息和买家确认收货消息。第三方支付系统也可以每发送一个交易消息
至电子商务网站,就将一个交易消息发送至外部消息存储区。由于在上一个
实施例中已经进行了详细的描述,此处就不再赘述。

步骤403:消息分析系统定时从外部的消息存储区读取交易消息;

其中,当本实施例采用时间触发的方式触发消息分析系统定时读取外部
的消息存储区中的交易消息时,具体可以由Quartz定时任务调度框架来实现。
Quartz主要分为两部分:调度任务和调度表达式。

其中,在本实施例中,调度任务即为消息分析系统从外部的消息存储区
读取交易消息并基于读取的交易消息判断第三方支付系统是否按照非正常方
式发送交易消息。在调度表达式中定义调度机制,其中的调度表达式
cronexpression包括【秒分小时月内日期月周内日期年(可选字段)特
殊字符】。

例如,如果调度表达式为【01510?*6L 2002-2005】,则表示将在2002
年到2005年的每个月的最后一个星期五上午10点15分执行调度任务。

需要说明的是,步骤401和步骤402没有严格的先后顺序,在第三方支
付系统周期性地将一定量的交易消息发送至外部的消息存储区进行存储的同
时,如果消息分析系统从外部的消息存储区读取交易消息的时间到达时,步
骤401和步骤402可以同时进行。

另外,消息分析系统也可以在收到第三方支付系统发送的触发命令后,
再从外部的消息存储区读取交易消息。由于在上一个实施例中进行了详细的
描述,故此处就不再赘述。

步骤404:消息分析系统从读取的交易消息中分别提取出交易号码和交易
状态;

其中,由消息发送系统发送给电子商务网站的交易消息至少包括有:交
易号码、交易状态、交易金额、卖家账号和买家账号。消息分析系统从获取
的每一个交易消息中提取出交易号码和交易状态两项。

步骤405:消息分析系统判断是否存在包含相同交易号码和相同交易状态
的交易消息,如果是,进入步骤406,如果否,等待进入步骤403;

其中,当消息分析系统从读取的每一个交易消息中分别提取出交易号码
和交易状态后,判断在提取的交易消息中是否存在包含相同交易号码和相同
交易状态的交易消息,如果是,判定第三方支付系统重复发送交易消息,则
进入步骤405,由消息分析系统进行向外报警,如果否,消息分析系统等待下
一个读取交易消息的到来,并在下一个读取交易消息到来时,进入步骤402。

另外,本实施例还可以由消息分析系统从读取的交易消息中分别提取每
个交易消息中的交易状态和卖家账号,由消息分析系统基于交易状态和卖家
账号判断第三方支付系统是否发送未规定发送的交易消息或者漏发已规定发
送的交易消息。由于在上一个实施例中已经进行详细的描述,故此处就不再
赘述。

步骤406:消息分析系统向第三方支付系统发送异常消息进行报警,以便
第三方支付系统根据报警的异常消息进行自我修正。

消息分析系统还可以向系统管理员发送短信或者email进行报警,以便系
统管理员对第三方支付系统进行修正。

由上述实施例可以看出,第一业务系统向第二业务系统发送交易消息,
消息分析系统获取第一业务系统发送给第二业务系统的交易消息,并根据获
取的交易消息判断第一业务系统是否按照非正常方式发送获取的交易消息的
方式检测第一业务系统是否重复发送交易消息、发送未规定发送的交易消息
或者漏发规定发送的交易消息。当出现上述故障情况时,进行对外报警,以
便对出现故障的第一业务系统进行即时修正,最终进一步两个大型的业务系
统之间在外发消息过程中可以正常地工作。

实施例三

与上述一种发送消息的方法相对应,本申请实施例还提供了一种发送消
息的系统。请参阅图5,其为本申请一种发送消息的系统的一个实施例的结构
图,该系统包括:消息发送系统501、消息存储区502和消息分析系统503,
下面结合该系统的工作原理进一步介绍其内部结构以及连接关系。

消息发送系统501,用于接收第一业务系统发送的创建外发消息的命令,
根据所述指令创建外发消息,将所述外发消息发送给第二业务系统;

消息存储区502,用于存储所述外发消息;

消息分析系统503,用于从所述消息存储区读取外发消息,根据读取的外
发消息判断所述第一业务系统是否按照非正常方式发送外发消息,所述非正
常方式发送外发消息包括重复发送外发消息、发送未规定发送的外发消息或
者漏发规定发送的外发消息,以便当判断是时,进行对外报警。

请参阅图6,其为本申请一种发送消息的系统的结构图。其中,消息发送
系统501包括:接收单元5011、创建单元5012和发送单元5013,

接收单元5011,用于接收第一业务系统发送的创建外发消息的指令;

创建单元5012,用于根据所述指令创建外发消息;

发送单元5013,用于将所述外发消息发送给第二业务系统和消息存储区。

其中,消息分析系统503包括:触发单元5031、读取单元5032和判断单
元5033,

触发单元5031,用于向读取单元发送触发命令;

读取单元5032,用于根据所述触发命令从所述消息存储区读取外发消息;

判断单元5033,用于根据读取的外发消息判断所述第一业务系统是否按
照非正常方式发送外发消息,所述非正常方式发送外发消息包括重复发送外
发消息、发送未规定发送的外发消息或者漏发规定发送的外发消息,以便当
判断是时,进行对外报警。

请参阅图7,其为本申请一种消息分析系统的一个实施例的结构图。其中,
判断单元5033包括:第一提取子单元50331和第一判断子单元50332,

第一提取子单元50331,用于从读取的外发消息中分别提取出交易号码和
交易状态;

第一判断子单元50332,用于判断是否存在包含相同交易号码和相同交易
状态的外发消息,如果是,则判定所述第一业务系统重复发送外发消息。

另外,第一提取子单元50331可以替换为第二提取子单元,第一判断子
单元50332可以替换为第二判断子单元,

第二提取子单元,用于从读取的交易消息中分别提取出交易状态和卖家
账号;

第二判断子单元,用于判断与相同卖家账号对应的交易状态是否为预先
规定的交易状态,如果包括非预先规定的交易状态,则判定所述第一业务系
统发送未规定发送的外发消息,如果没有包括预先规定的交易状态,则判定
所述第一业务系统漏发规定发送的外发消息。

优选的,判断单元5033同时包括第一读取子单元、第一判断子单元、第
二读取子单元和第二判断子单元。

其中,触发单元5031包括事件触发子单元或者定时器;

事件触发子单元,用于当接受到第一业务系统发送的触发命令后,向所
述读取单元发送触发命令;

定时器,用于周期性地向读取单元发送触发命令。

由上述实施例可以看出,获取单元获取第一业务系统发送给第二业务系
统的交易消息,判断单元根据获取的交易消息判断第一业务系统是否按照非
正常方式发送获取的交易消息的方式检测第一业务系统是否重复发送交易消
息、发送未规定发送的交易消息或者漏发规定发送的交易消息。当出现上述
故障情况时,判断单元进行对外报警,以便对出现故障的第一业务系统进行
即时修正,最终进一步保证两个大型的业务系统之间在外发消息过程中可以
正常地工作。

需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的
全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的
程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述
各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储
记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access
Memory,RAM)等。

以上对本申请所提供的一种发送消息的方法和系统进行了详细介绍,本
文中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例
的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的
一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改
变之处,综上所述,本说明书内容不应理解为对本申请的限制。

一种发送消息的方法和系统.pdf_第1页
第1页 / 共16页
一种发送消息的方法和系统.pdf_第2页
第2页 / 共16页
一种发送消息的方法和系统.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《一种发送消息的方法和系统.pdf》由会员分享,可在线阅读,更多相关《一种发送消息的方法和系统.pdf(16页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102238094 A (43)申请公布日 2011.11.09 CN 102238094 A *CN102238094A* (21)申请号 201010155677.4 (22)申请日 2010.04.23 H04L 12/58(2006.01) H04L 29/06(2006.01) G06Q 30/00(2006.01) (71)申请人 阿里巴巴集团控股有限公司 地址 英属开曼群岛大开曼岛资本大厦一座 四层 847 号邮箱 (72)发明人 金伟安 (74)专利代理机构 北京集佳知识产权代理有限 公司 11227 代理人 逯长明 王宝筠 (54) 发明名称 一种发。

2、送消息的方法和系统 (57) 摘要 本申请实施例公开了一种消息外发方法和系 统。其中, 所述方法包括 : 消息发送系统接收第一 业务系统发送的创建外发消息的指令, 根据所述 指令创建外发消息, 将所述外发消息发送给第二 业务系统和消息存储区 ; 消息存储区存储所述外 发消息 ; 消息分析系统从所述消息存储区读取外 发消息, 根据读取的外发消息判断所述第一业务 系统是否按照非正常方式发送外发消息, 所述非 正常方式发送外发消息包括重复发送外发消息、 发送未规定发送的外发消息或者漏发规定发送的 外发消息, 以便当判断是时, 进行对外报警。根据 本申请实施例, 可以在两个大型的业务系统之间 在外发消。

3、息过程中可以正常地工作。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 8 页 附图 5 页 CN 102238100 A1/2 页 2 1. 一种发送消息的方法, 其特征在于, 包括 : 消息发送系统接收第一业务系统发送的创建外发消息的指令, 根据所述指令创建外发 消息, 将所述外发消息发送给第二业务系统和消息存储区 ; 消息存储区存储所述外发消息 ; 消息分析系统从所述消息存储区读取外发消息, 根据读取的外发消息判断所述第一业 务系统是否按照非正常方式发送外发消息, 所述非正常方式发送外发消息包括重复发送外 发消息、 发送未。

4、规定发送的外发消息或者漏发规定发送的外发消息, 以便当判断是时, 进行 对外报警。 2. 根据权利要求 1 所述的方法, 其特征在于, 所述消息分析系统从所述消息存储区读 取外发消息包括 : 消息分析系统周期性地从所述消息存储区读取外发消息。 3. 根据权利要求 1 所述的方法, 其特征在于, 所述消息分析系统从所述消息存储区读 取外发消息包括 : 当接收到所述第一业务系统发送的触发命令时, 消息分析系统从所述消息存储区读取 外发消息。 4. 根据权利要求 1 所述的方法, 其特征在于, 所述消息分析系统根据读取的外发消息 判断所述第一业务系统是否按照非正常方式发送外发消息包括 : 消息分析系。

5、统从所述读取的外发消息中分别提取出交易号码和交易状态 ; 消息分析系统判断是否存在包含相同交易号码和相同交易状态的外发消息, 如果是, 则判定所述第一业务系统重复发送外发消息。 5. 根据权利要求 1 所述的方法, 其特征在于, 所述消息分析系统根据读取的外发消息 判断所述第一业务系统是否按照非正常方式发送外发消息包括 : 消息分析系统从所述读取的外发消息中分别提取出交易状态和卖家账号 ; 消息分析系统判断与相同卖家账号对应的交易状态是否为预先规定的交易状态, 如果 包括非预先规定的交易状态, 则判定所述第一业务系统发送未规定发送的外发消息, 如果 没有包括预先规定的交易状态, 则判定所述第一。

6、业务系统漏发规定发送的外发消息。 6. 一种发送消息的系统, 其特征在于, 包括 : 消息发送系统、 消息存储区和消息分析系 统, 其中, 所述消息发送系统, 用于接收第一业务系统发送的创建外发消息的命令, 根据所述指 令创建外发消息, 将所述外发消息发送给第二业务系统和消息存储区 ; 所述消息存储区, 用于存储所述外发消息 ; 所述消息分析系统, 用于从所述消息存储区读取外发消息, 根据读取的外发消息判断 所述第一业务系统是否按照非正常方式发送外发消息, 所述非正常方式发送外发消息包括 重复发送外发消息、 发送未规定发送的外发消息或者漏发规定发送的外发消息, 以便当判 断是时, 进行对外报警。

7、。 7. 根据权利要求 6 所述的系统, 其特征在于, 所述消息外发系统包括 : 接收单元, 用于接收第一业务系统发送的创建外发消息的指令 ; 创建单元, 用于根据所述指令创建外发消息 ; 发送单元, 用于将所述外发消息发送给第二业务系统和消息存储区。 权 利 要 求 书 CN 102238094 A CN 102238100 A2/2 页 3 8. 根据权利要求 6 所述的系统, 其特征在于, 所述消息分析系统包括 : 触发单元, 用于向读取单元发送触发命令 ; 读取单元, 用于根据所述触发命令从所述消息存储区读取外发消息 ; 判断单元, 用于根据读取的外发消息判断所述第一业务系统是否按照非。

8、正常方式发送 外发消息, 所述非正常方式发送外发消息包括重复发送外发消息、 发送未规定发送的外发 消息或者漏发规定发送的外发消息, 以便当判断是时, 进行对外报警。 9. 根据权利要求 8 所述的系统, 其特征在于, 所述触发单元包括 : 事件触发子单元, 用于当接受到第一业务系统发送的触发命令后, 向所述读取单元发 送触发命令 ; 或者, 定时器, 用于周期性地向读取单元发送触发命令。 10. 根据权利要求 8 所述的系统, 其特征在于, 所述判断单元包括 : 第一提取子单元, 用于从读取的外发消息中分别提取出交易号码和交易状态 ; 第一判断子单元, 用于判断是否存在包含相同交易号码和相同交。

9、易状态的外发消息, 如果是, 则判定所述第一业务系统重复发送外发消息。 11. 根据权利要求 8 所述的系统, 其特征在于, 所述判断单元包括 : 第二提取子单元, 用于从读取的外发消息中分别提取出交易状态和卖家账号 ; 第二判断子单元, 用于判断与相同卖家账号对应的交易状态是否为预先规定的交易状 态, 如果包括非预先规定的交易状态, 则判定所述第一业务系统发送未规定发送的外发消 息, 如果没有包括预先规定的交易状态, 则判定所述第一业务系统漏发规定发送的外发消 息。 权 利 要 求 书 CN 102238094 A CN 102238100 A1/8 页 4 一种发送消息的方法和系统 技术领。

10、域 0001 本申请涉及通信和计算机技术领域, 特别是涉及一种发送消息的方法和系统。 背景技术 0002 随着互联网技术的发展, 网上大型业务系统之间的交互就变得越来越频繁, 通常 情况下这种大型业务系统之间的同步性都是通过外发消息来完成的。比如说, 一个电子商 务网站 ( 如淘宝 ) 和一个第三方支付公司 ( 如支付宝 ), 在用户完成一笔交易的过程中, 两 者之间存在多次交互, 请参阅图 1 所示, 在每次交互过程中, 第三方支付系统都会向电子商 务网站发送反映某一个物品交易状态的交易消息, 同时, 电子商务网站依据每个交易消息 所反馈的内容执行下一步的交易操作。 0003 例如, 当买家。

11、在某电子商务网站中购买一个网上物品时, 第三方支付系统首先向 该电子商务网站发送交易创建消息 ; 当买家通过第三方支付系统付款成功时, 第三方支付 系统向该电子商务网站发送买家付款消息 ; 当该电子商务网站通过第三方支付系统将网上 物品发货时, 第三方支付系统向该电子商务网站发送卖家发货消息 ; 当买家通过第三方支 付系统确认收到货物后, 第三方支付系统向该电子商务网站发送买家确认消息。 0004 由此可见, 一笔交易从创建、 付款、 发货到买家确认, 第三方支付系统都需要发送 相应的交易消息给电子商务网站。如果第三方支付系统进行升级, 第三方支付系统可能会 按照非正常方式发送交易消息, 如,。

12、 重复发送交易消息、 发送未规定发送的交易消息或者漏 发规定发送的交易消息。 因此, 当第三方支付系统进行升级时, 第三方支付系统很有可能无 法正确地发送交易消息, 致使电子商务网站无法正常工作。 因此, 对于诸如电子商务网站这 样的业务系统而言, 第三方支付系统是否能够准确地发送交易消息是十分重要的。 发明内容 0005 为了解决上述技术问题, 本申请实施例提供了一种发送消息的方法和系统, 以保 证两个大型的业务系统之间在外发消息过程中可以正常地工作。 0006 本申请实施例公开了如下技术方案 : 0007 一种发送消息的方法, 包括 : 消息发送系统接收第一业务系统发送的创建外发消 息的指。

13、令, 根据所述指令创建外发消息, 将所述外发消息发送给第二业务系统和消息存储 区 ; 消息存储区存储所述外发消息 ; 消息分析系统从所述消息存储区读取外发消息, 根据 读取的外发消息判断所述第一业务系统是否按照非正常方式发送外发消息, 所述非正常方 式发送外发消息包括重复发送外发消息、 发送未规定发送的外发消息或者漏发规定发送的 外发消息, 以便当判断是时, 进行对外报警。 0008 一种发送消息的系统, 包括 : 消息发送系统、 消息存储区和消息分析系统, 其中, 所 述消息发送系统, 用于接收第一业务系统发送的创建外发消息的命令, 根据所述指令创建 外发消息, 将所述外发消息发送给第二业务。

14、系统和消息存储区 ; 所述消息存储区, 用于存储 所述外发消息 ; 所述消息分析系统, 用于从所述消息存储区读取外发消息, 根据读取的外发 说 明 书 CN 102238094 A CN 102238100 A2/8 页 5 消息判断所述第一业务系统是否按照非正常方式发送外发消息, 所述非正常方式发送外发 消息包括重复发送外发消息、 发送未规定发送的外发消息或者漏发规定发送的外发消息, 以便当判断是时, 进行对外报警。 0009 由上述实施例可以看出, 第一业务系统向第二业务系统发送交易消息, 消息分析 系统获取第一业务系统发送给第二业务系统的交易消息, 并根据获取的交易消息判断第一 业务系统。

15、是否按照非正常方式发送获取的交易消息的方式检测第一业务系统是否重复发 送交易消息、 发送未规定发送的交易消息或者漏发规定发送的交易消息。当出现上述故障 情况时, 进行对外报警, 以便对出现故障的第一业务系统进行即时修正, 最终进一步保证两 个大型的业务系统之间在外发消息过程中可以正常地工作。 附图说明 0010 为了更清楚地说明本申请实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 对于本领域普通技术人员来讲, 在不付出 创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。 0011 图 1 为现有技术中一种交互系统的系统架构图 ; 0012。

16、 图 2 为本申请一种发送消息的方法一个实施例的流程图 ; 0013 图 3 为本申请一种消息外发系统架构图 ; 0014 图 4 为本申请一种发送消息的方法的另一个实施例的流程图 ; 0015 图 5 为本申请一种发送消息的系统的一个实施例的结构图 ; 0016 图 6 为为本申请一种发送消息的系统的另一个实施例的结构图 ; 0017 图 7 为本申请中一种消息分析系统的一个实施例的结构图。 具体实施方式 0018 为使本申请的上述目的、 特征和优点能够更加明显易懂, 下面结合附图对本申请 实施例进行详细描述。 0019 实施例一 0020 请参阅图 2, 其为本申请一种发送消息的方法的一个。

17、实施例的流程图, 该方法包括 以下步骤 : 0021 步骤 201 : 消息发送系统接收第一业务系统发送的创建外发消息的指令, 根据所 述指令创建外发消息, 将所述外发消息发送给第二业务系统和消息存储区 ; 0022 例如, 第一业务系统为第三方支付系统, 第二业务系统为电子商务网站, 在一笔交 易从创建、 付款、 发货到买家确认的过程中, 消息发送系统接收第三方支付系统发送的创建 交易消息的指令, 根据所述指令创建交易消息, 将交易消息发送给电子商务网站和消息存 储区。当然, 第一业务系统和第二业务系统还可以是通过外发消息来完成同步性的其他任 意两个业务系统, 本申请实施例对此并不限定。 0。

18、023 步骤 202 : 消息存储区存储所述外发消息 ; 0024 需要说明的是, 除了第一业务系统和第二业务系统之外, 本申请实施例中的消息 分析系统、 消息发送系统和消息存储区可以是逻辑上的功能实体, 也可以是能够实现该等 功能的实体装置。 其中, 消息分析系统、 消息发送系统和消息存储区可以是分别独立于第一 说 明 书 CN 102238094 A CN 102238100 A3/8 页 6 业务系统和第二业务系统的三个服务器, 或者, 也可以集成在独立于第一业务系统和第二 业务系统的一个服务器中, 或者, 还可以集成在第一业务系统或第二业务系统所在的服务 器中, 本申请实施例对此并不限。

19、定。 0025 步骤 203 : 消息分析系统从所述消息存储区读取外发消息, 根据读取的外发消息 判断所述第一业务系统是否按照非正常方式发送外发消息, 所述非正常方式发送外发消息 包括重复发送外发消息、 发送未规定发送的外发消息或者漏发规定发送的外发消息, 以便 当判断是时, 进行对外报警。 0026 例如, 请参阅图3, 其为本申请一种消息外发系统架构图。 如图3所示, 在消息外发 系统中, 第一业务系统位于电子支付服务器中, 第二业务系统位于电子商务网站服务器中, 消息分析系统独立地位于一个消息分析服务器中, 消息发送系统独立地位于一个消息发送 服务器中, 消息存储区位于消息分析服务器和消。

20、息发送服务器的外部, 形成一个独立的外 部的消息存储区。如图 3 所示, 先由电子支付服务器中的消息发送系统接收电子支付服务 器中的第一业务系统发送的创建外发消息的指令, 根据所述指令创建外发消息, 将外发消 息发送给电子商务网站服务器中的第二业务系统和外部的消息存储区。 再由消息分析服务 器中的消息分析系统从外部的消息存储区中读取外发消息并进行分析。 0027 其中, 消息发送系统可以每向第二业务系统发送一个外发消息的同时, 即将该外 发消息发送至外部的消息存储区进行存储。优选的, 为了避免消息发送系统频繁执行发送 操作而引起的过度系统消耗, 也可以每隔一定的时间周期, 将达到一定数量的外发。

21、消息发 送至外部的消息存储区进行存储。 0028 上述消息分析系统从所述消息存储区读取外发消息包括 : 消息分析系统周期性地 从所述消息存储区读取外发消息 ; 或者, 当接收到所述第一业务系统发送的触发命令时, 消 息分析系统从所述消息存储区读取外发消息。 0029 如, 在消息分析系统内部设定一个定时器, 每当定时器超时时, 周期性地发送触发 命令触发消息分析系统, 当消息分析系统接收到这个触发命令后, 周期性地从消息存储区 中读取外发消息, 从而实现以时间触发的方式从消息存储区读取外发消息。 可替换的, 也可 以采用事件触发的方式从消息存储区读取交易消息。如, 当消息发送系统每隔一定的时间。

22、 周期, 将达到一定数量的外发消息发送至消息存储区进行存储时, 同时向消息分析系统发 送一个触发命令, 当消息分析系统收到这个触发命令时, 即从消息存储区读取外发消息。 0030 当然, 消息分析系统除了可以从消息存储区读取外发消息之外, 还可以将消息存 储区与消息分析系统集成在一起, 即, 消息分析系统自身包含有一个内部的消息存储区, 由 消息分析系统直接接收消息发送系统发送的外发消息并存储。如, 每当消息发送系统向第 二业务系统发送一个外发消息的同时, 即向消息分析系统发送该外发消息, 由消息分析系 统中的内部的消息存储区存储该外发消息。优选的, 为了避免消息发送系统和消息分析系 统频繁执。

23、行发送和存储操作而引起的过度系统消耗, 消息发送系统也可以每隔一定的时间 周期, 将达到一定数量的外发消息发送至消息分析系统, 由消息分析系统中的内部的消息 存储区存储交易消息。 0031 其中, 对于第一业务系统重复发送交易消息的情况, 所述消息分析系统根据读取 的外发消息判断所述第一业务系统是否按照非正常方式发送外发消息包括 : 消息分析系统 从所述读取的交易消息中分别提取出交易号码和交易状态 ; 消息分析系统判断是否存在包 说 明 书 CN 102238094 A CN 102238100 A4/8 页 7 含相同交易号码和相同交易状态的外发消息, 如果是, 则判定所述第一业务系统重复发。

24、送 外发消息。 0032 例如, 第一业务系统为第三方支付系统, 第二业务系统为电子商务网站, 消息发送 系统发送给第二业务系统的外发消息为交易消息, 且消息分析系统读取的交易消息有 10 个, 而由消息发送系统发送给电子商务网站的交易消息至少包括有 : 交易号码、 交易状态、 交易金额、 卖家账号和买家账号。从 10 个交易消息中分别提取每个交易消息中的交易号码 和交易状态, 判断是否存在包含相同交易号码和相同交易状态的交易消息。 如, 以交易消息 为交易创建消息为例, 在第三方支付系统升级前后, 有可能将某一个交易的交易创建消息 重复发送两次, 此时, 重复发送的两个交易创建消息会具有相同。

25、的交易号码和交易状态, 根 据对比每个交易消息中的交易号码和交易状态, 即可从获取的交易消息中得出是否存在重 复发送的交易消息。 当然, 重复发送交易消息的次数不限定只为两个, 也有可能是两个以上 的多个交易消息被重复发送。 0033 其中, 对于第一业务系统发送未规定发送的外发消息或者漏发规定发送的外发消 息的情况, 所述消息分析系统根据读取的外发消息判断所述第一业务系统是否按照非正常 方式发送外发消息包括 : 消息分析系统从所述读取的外发消息中分别提取出交易状态和卖 家账号 ; 消息分析系统判断与相同卖家账号对应的交易状态是否为预先规定的交易状态, 如果包括非预先规定的交易状态, 则判定所。

26、述第一业务系统发送未规定发送的外发消息, 如果没有包括预先规定的交易状态, 则判定所述第一业务系统漏发规定发送的外发消息。 0034 仍旧以第一业务系统为第三方支付系统, 第二业务系统为电子商务网站, 消息发 送系统发送给第二业务系统的外发消息为交易消息, 且消息分析系统读取的交易消息有 10 个, 而由消息发送系统发送给电子商务网站的交易消息至少包括有 : 交易号码、 交易状态、 交易金额、 卖家账号和买家账号为例来进行说明。从 10 个交易消息中分别提取每个交易 消息中的交易状态和卖家账号, 如果具有相同卖家账号 A 的交易消息有 5 个, 该 5 个交易消 息分别对应的交易状态为 : 付。

27、款、 下单、 付款、 发货、 收货。而具有卖家账号 A 的卖家不需要 第三方支付系统发送有关下单状态的交易消息时, 则与卖家账号 A 所对应的预先规定的交 易状态不包括下单状态, 而是只包括有付款、 发货和收货状态。可见, 上述 5 个交易消息中 ( 第二个交易消息 ) 包括有非预先规定的交易状态, 则判定第三方支付系统发送了未规定 发送的交易消息。如果具有相同卖家账号 A 的交易消息有 5 个, 该 5 个交易消息分别对应 的交易状态为 : 付款、 付款、 付款、 发货、 收货。而具有卖家账号 A 的卖家需要第三方支付系 统发送所有交易状态的交易消息时, 则与卖家账号 A 所对应的预先规定的。

28、交易状态包括下 单、 付款、 发货和收货状态。可见, 上述 5 个交易消息中没有包括预先规定的交易状态 ( 下 单状态 ), 则第三方支付系统漏发规定发送的交易消息。 0035 需要说明的是, 消息分析系统可以只检测第一业务系统是否重复发送外发消息, 或者只检测第一业务系统是否发送未规定发送的外发消息, 或者, 只检测第一业务系统是 否漏发规定发送的外发消息, 也可以同时对上述三种非正常方式发送外发消息的情况进行 检测。 0036 当消息分析系统发现第一业务系统重复发送外发消息、 发送未规定发送的外发消 息或者漏发规定发送的外发消息时, 消息分析系统向第一业务系统进行报警。 具体可以为 : 由。

29、消息分析系统向第一业务系统发送异常消息进行报警提示, 或者, 由消息分析系统向系 说 明 书 CN 102238094 A CN 102238100 A5/8 页 8 统管理员发送短信或 email 进行报警提示。当第一业务系统或者系统管理员得到消息分析 系统发送的报警信息后, 系统管理员使第一业务系统停止向外发送创建外发消息的指令, 并对第一业务系统进行修护, 待系统管理员修护后, 第一业务系统继续正常向外发送创建 外发消息的指令。 0037 由上述实施例可以看出, 第一业务系统向第二业务系统发送交易消息, 消息分析 系统获取第一业务系统发送给第二业务系统的交易消息, 并根据获取的交易消息判。

30、断第一 业务系统是否按照非正常方式发送获取的交易消息的方式检测第一业务系统是否重复发 送交易消息、 发送未规定发送的交易消息或者漏发规定发送的交易消息。当出现上述故障 情况时, 进行对外报警, 以便对出现故障的第一业务系统进行即时修正, 最终进一步保证两 个大型的业务系统之间在外发消息过程中可以正常地工作。 0038 实施例二 0039 下面以一个具体的应用场景为例详细说明消息外发的方法。其中, 在本实施例的 应用场景如图 3 所示, 作为第一业务系统的第三方支付系统位于一个电子支付服务器中, 作为第二业务系统的电子商务网站位于电子商务网站服务器中, 消息分析系统独立地位于 一个消息分析服务器。

31、中, 消息发送系统独立地位于一个消息发送服务器中, 消息存储区位 于消息分析服务器和消息发送服务器的外部, 形成一个外部的消息存储区, 并由时间触发 该消息分析系统定时读取外部的消息存储区中的交易消息。 请参阅图4, 其为本申请一种发 送消息的方法的另一个实施例的流程图, 包括以下步骤 : 0040 步骤 401 : 消息发送系统接收第三方支付系统发送的创建交易消息的指令, 根据 所述指令, 创建交易消息 ; 0041 步骤 402 : 消息发送系统在将交易消息发送给电子商务网站后, 周期性地将一定 量的交易消息发送至外部的消息存储区进行存储 ; 0042 其中, 所述的交易消息至少包括 : 。

32、交易创建消息、 买家付款消息、 卖家发货消息和 买家确认收货消息。第三方支付系统也可以每发送一个交易消息至电子商务网站, 就将一 个交易消息发送至外部消息存储区。由于在上一个实施例中已经进行了详细的描述, 此处 就不再赘述。 0043 步骤 403 : 消息分析系统定时从外部的消息存储区读取交易消息 ; 0044 其中, 当本实施例采用时间触发的方式触发消息分析系统定时读取外部的消息存 储区中的交易消息时, 具体可以由Quartz定时任务调度框架来实现。 Quartz主要分为两部 分 : 调度任务和调度表达式。 0045 其中, 在本实施例中, 调度任务即为消息分析系统从外部的消息存储区读取交。

33、易 消息并基于读取的交易消息判断第三方支付系统是否按照非正常方式发送交易消息。 在调 度表达式中定义调度机制, 其中的调度表达式 cronexpression 包括 【秒分小时月内日期月 周内日期年 ( 可选字段 ) 特殊字符】 。 0046 例如, 如果调度表达式为 【01510 ? *6L 2002-2005】 , 则表示将在 2002 年到 2005 年的每个月的最后一个星期五上午 10 点 15 分执行调度任务。 0047 需要说明的是, 步骤401和步骤402没有严格的先后顺序, 在第三方支付系统周期 性地将一定量的交易消息发送至外部的消息存储区进行存储的同时, 如果消息分析系统从 。

34、外部的消息存储区读取交易消息的时间到达时, 步骤 401 和步骤 402 可以同时进行。 说 明 书 CN 102238094 A CN 102238100 A6/8 页 9 0048 另外, 消息分析系统也可以在收到第三方支付系统发送的触发命令后, 再从外部 的消息存储区读取交易消息。由于在上一个实施例中进行了详细的描述, 故此处就不再赘 述。 0049 步骤 404 : 消息分析系统从读取的交易消息中分别提取出交易号码和交易状态 ; 0050 其中, 由消息发送系统发送给电子商务网站的交易消息至少包括有 : 交易号码、 交 易状态、 交易金额、 卖家账号和买家账号。 消息分析系统从获取的每。

35、一个交易消息中提取出 交易号码和交易状态两项。 0051 步骤 405 : 消息分析系统判断是否存在包含相同交易号码和相同交易状态的交易 消息, 如果是, 进入步骤 406, 如果否, 等待进入步骤 403 ; 0052 其中, 当消息分析系统从读取的每一个交易消息中分别提取出交易号码和交易状 态后, 判断在提取的交易消息中是否存在包含相同交易号码和相同交易状态的交易消息, 如果是, 判定第三方支付系统重复发送交易消息, 则进入步骤 405, 由消息分析系统进行向 外报警, 如果否, 消息分析系统等待下一个读取交易消息的到来, 并在下一个读取交易消息 到来时, 进入步骤 402。 0053 另。

36、外, 本实施例还可以由消息分析系统从读取的交易消息中分别提取每个交易消 息中的交易状态和卖家账号, 由消息分析系统基于交易状态和卖家账号判断第三方支付系 统是否发送未规定发送的交易消息或者漏发已规定发送的交易消息。 由于在上一个实施例 中已经进行详细的描述, 故此处就不再赘述。 0054 步骤 406 : 消息分析系统向第三方支付系统发送异常消息进行报警, 以便第三方 支付系统根据报警的异常消息进行自我修正。 0055 消息分析系统还可以向系统管理员发送短信或者 email 进行报警, 以便系统管理 员对第三方支付系统进行修正。 0056 由上述实施例可以看出, 第一业务系统向第二业务系统发送。

37、交易消息, 消息分析 系统获取第一业务系统发送给第二业务系统的交易消息, 并根据获取的交易消息判断第一 业务系统是否按照非正常方式发送获取的交易消息的方式检测第一业务系统是否重复发 送交易消息、 发送未规定发送的交易消息或者漏发规定发送的交易消息。当出现上述故障 情况时, 进行对外报警, 以便对出现故障的第一业务系统进行即时修正, 最终进一步两个大 型的业务系统之间在外发消息过程中可以正常地工作。 0057 实施例三 0058 与上述一种发送消息的方法相对应, 本申请实施例还提供了一种发送消息的系 统。请参阅图 5, 其为本申请一种发送消息的系统的一个实施例的结构图, 该系统包括 : 消 息发。

38、送系统 501、 消息存储区 502 和消息分析系统 503, 下面结合该系统的工作原理进一步 介绍其内部结构以及连接关系。 0059 消息发送系统 501, 用于接收第一业务系统发送的创建外发消息的命令, 根据所述 指令创建外发消息, 将所述外发消息发送给第二业务系统 ; 0060 消息存储区 502, 用于存储所述外发消息 ; 0061 消息分析系统 503, 用于从所述消息存储区读取外发消息, 根据读取的外发消息判 断所述第一业务系统是否按照非正常方式发送外发消息, 所述非正常方式发送外发消息包 括重复发送外发消息、 发送未规定发送的外发消息或者漏发规定发送的外发消息, 以便当 说 明 。

39、书 CN 102238094 A CN 102238100 A7/8 页 10 判断是时, 进行对外报警。 0062 请参阅图 6, 其为本申请一种发送消息的系统的结构图。其中, 消息发送系统 501 包括 : 接收单元 5011、 创建单元 5012 和发送单元 5013, 0063 接收单元 5011, 用于接收第一业务系统发送的创建外发消息的指令 ; 0064 创建单元 5012, 用于根据所述指令创建外发消息 ; 0065 发送单元 5013, 用于将所述外发消息发送给第二业务系统和消息存储区。 0066 其中, 消息分析系统 503 包括 : 触发单元 5031、 读取单元 5032。

40、 和判断单元 5033, 0067 触发单元 5031, 用于向读取单元发送触发命令 ; 0068 读取单元 5032, 用于根据所述触发命令从所述消息存储区读取外发消息 ; 0069 判断单元 5033, 用于根据读取的外发消息判断所述第一业务系统是否按照非正常 方式发送外发消息, 所述非正常方式发送外发消息包括重复发送外发消息、 发送未规定发 送的外发消息或者漏发规定发送的外发消息, 以便当判断是时, 进行对外报警。 0070 请参阅图 7, 其为本申请一种消息分析系统的一个实施例的结构图。其中, 判断单 元 5033 包括 : 第一提取子单元 50331 和第一判断子单元 50332, 。

41、0071 第一提取子单元 50331, 用于从读取的外发消息中分别提取出交易号码和交易状 态 ; 0072 第一判断子单元 50332, 用于判断是否存在包含相同交易号码和相同交易状态的 外发消息, 如果是, 则判定所述第一业务系统重复发送外发消息。 0073 另外, 第一提取子单元 50331 可以替换为第二提取子单元, 第一判断子单元 50332 可以替换为第二判断子单元, 0074 第二提取子单元, 用于从读取的交易消息中分别提取出交易状态和卖家账号 ; 0075 第二判断子单元, 用于判断与相同卖家账号对应的交易状态是否为预先规定的交 易状态, 如果包括非预先规定的交易状态, 则判定所。

42、述第一业务系统发送未规定发送的外 发消息, 如果没有包括预先规定的交易状态, 则判定所述第一业务系统漏发规定发送的外 发消息。 0076 优选的, 判断单元 5033 同时包括第一读取子单元、 第一判断子单元、 第二读取子 单元和第二判断子单元。 0077 其中, 触发单元 5031 包括事件触发子单元或者定时器 ; 0078 事件触发子单元, 用于当接受到第一业务系统发送的触发命令后, 向所述读取单 元发送触发命令 ; 0079 定时器, 用于周期性地向读取单元发送触发命令。 0080 由上述实施例可以看出, 获取单元获取第一业务系统发送给第二业务系统的交易 消息, 判断单元根据获取的交易消。

43、息判断第一业务系统是否按照非正常方式发送获取的交 易消息的方式检测第一业务系统是否重复发送交易消息、 发送未规定发送的交易消息或者 漏发规定发送的交易消息。 当出现上述故障情况时, 判断单元进行对外报警, 以便对出现故 障的第一业务系统进行即时修正, 最终进一步保证两个大型的业务系统之间在外发消息过 程中可以正常地工作。 0081 需要说明的是, 本领域普通技术人员可以理解实现上述实施例方法中的全部或部 分流程, 是可以通过计算机程序来指令相关的硬件来完成, 所述的程序可存储于一计算机 说 明 书 CN 102238094 A CN 102238100 A8/8 页 11 可读取存储介质中, 。

44、该程序在执行时, 可包括如上述各方法的实施例的流程。其中, 所述的 存储介质可为磁碟、 光盘、 只读存储记忆体 (Read-Only Memory, ROM) 或随机存储记忆体 (Random AccessMemory, RAM) 等。 0082 以上对本申请所提供的一种发送消息的方法和系统进行了详细介绍, 本文中应用 了具体实施例对本申请的原理及实施方式进行了阐述, 以上实施例的说明只是用于帮助理 解本申请的方法及其核心思想 ; 同时, 对于本领域的一般技术人员, 依据本申请的思想, 在 具体实施方式及应用范围上均会有改变之处, 综上所述, 本说明书内容不应理解为对本申 请的限制。 说 明 书 CN 102238094 A CN 102238100 A1/5 页 12 图 1 图 2 说 明 书 附 图 CN 102238094 A CN 102238100 A2/5 页 13 图 3 说 明 书 附 图 CN 102238094 A CN 102238100 A3/5 页 14 图 4 说 明 书 附 图 CN 102238094 A CN 102238100 A4/5 页 15 图 5 图 6 说 明 书 附 图 CN 102238094 A CN 102238100 A5/5 页 16 图 7 说 明 书 附 图 CN 102238094 A 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1