CN103856392A - 消息推送方法及其外发服务器和外发服务器系统 - Google Patents

消息推送方法及其外发服务器和外发服务器系统 Download PDF

Info

Publication number
CN103856392A
CN103856392A CN201310261283.0A CN201310261283A CN103856392A CN 103856392 A CN103856392 A CN 103856392A CN 201310261283 A CN201310261283 A CN 201310261283A CN 103856392 A CN103856392 A CN 103856392A
Authority
CN
China
Prior art keywords
information
message
server
outgoing
push
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
Application number
CN201310261283.0A
Other languages
English (en)
Other versions
CN103856392B (zh
Inventor
梁晓靖
吴少钧
洪东杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Ctrip Business Co Ltd
Original Assignee
Ctrip Computer Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ctrip Computer Technology Shanghai Co Ltd filed Critical Ctrip Computer Technology Shanghai Co Ltd
Priority to CN201310261283.0A priority Critical patent/CN103856392B/zh
Publication of CN103856392A publication Critical patent/CN103856392A/zh
Application granted granted Critical
Publication of CN103856392B publication Critical patent/CN103856392B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种消息推送方法及其外发服务器和外发服务器系统,所述消息推送方法包括:收集消息服务器中所有生成的或已经更新的消息信息;将所述消息信息插入一消息队列中;将各个消息信息发送至对应的消息处理线程中;各个消息处理线程处理生成推送格式的消息信息并以异步消息处理方式推送;各个消息处理线程检测是否推送成功,若失败,将发送失败的所述消息信息插入一异常消息队列中;以异步消息处理方式推送所述异常消息队列中的各个推送格式的消息信息。本发明还公开了使用所述方法的外发服务器及由多个外发服务器组成的外发服务器系统。本发明能够避免系统阻塞以及推送信息丢失,同时还通过多个外发服务器的主从结构构造来提高可靠性。

Description

消息推送方法及其外发服务器和外发服务器系统
技术领域
本发明涉及一种消息推送方法及其外发服务器和外发服务器系统,特别是涉及一种商务平台的消息推送方法及其外发服务器和外发服务器系统。
背景技术
随着互联网的发展,特别是最近分销渠道的发展,很多企业已经不是只有自己卖自己的产品和服务,而是把一部分产品分给其它分销商销售,或者自己卖其它企业的产品。
在互联网上表现出来,就是很多企业推出自己的开放电商平台,让其它分销商通过接口能接入到所述电商平台,在线上拉取产品信息,进行订单或销售的服务,从中提取一部分的佣金。在这过程中,企业之间必然每天会有大量的信息要进行交互,比如产品信息,订单的状态信息等,信息交互过程中会面临以下两个问题:
(1)作为产品服务商,产品的订单状态等信息要实时地推送给分销商,让分销商实时地来调用产品服务商的电商平台的对外接口,这样可能会给电商平台的接口服务器带来巨大压力,同时这种被动式调用信息的方式,还要求从电商平台的数据库的一大堆数据中提供有用的信息,效率非常低。
(2)当产品服务商的产品要放到其它电商平台去销售时,作为一个产品提供方,当有产品上架时,就要维护更新其它一大批的分销站点,到各个站点都添加一次更新的信息,这时对于一个信息录入人员,将要面对大量重复的工作量,而且很容易错漏。
为了解决这个问题,传统的电商平台采用同步操作的信息推送平台系统,即当有信息需要推送时,平台执行同步推送信息操作。由于电商平台的接口服务器能力有限,一旦需要推送的数据量变大,推送必定会遇到阻塞,同时推送失败还没有有效手段进行重复推送,造成数据的丢失。而且由于推送平台需要建立长链接来进行信息推送,一旦当信息推送平台系统中一台服务器出现宕机,就会导致整个电商平台的瘫痪。
发明内容
本发明要解决的技术问题是为了克服现有技术的同步操作的信息推送平台系统容易阻塞,从而导致推送信息丢失以及信息推送平台系统没有运行保障措施的缺陷,提供一种消息推送方法及其外发服务器和外发服务器系统。通过采用队列的异步发送来避免系统阻塞,以及采用异常队列来避免推送信息丢失。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供了一种消息推送方法,其特点是,所述消息推送方法包括以下步骤:
S1、收集消息服务器中所有生成的或已经更新的消息信息;
S2、将所述消息信息打包并插入一消息队列中;
S3、将所述消息队列中的各个消息信息发送至对应的消息处理线程中;
S4、各个消息处理线程将接收到消息信息处理生成推送格式的消息信息并以异步消息处理方式推送;
S5、各个消息处理线程检测推送格式的消息信息是否推送成功,若成功,流程结束,否则进入步骤S6;
S6、将发送失败的所述推送格式的消息信息插入一异常消息队列中;
S7、以异步消息处理方式推送所述异常消息队列中的各个推送格式的消息信息,并检测推送的推送格式的消息信息是否推送成功,若成功,流程结束,否则重复步骤S7。
本发明中通过建立消息队列的方式来统一管理服务器中生成的或已经更新的消息信息的推送,从而使得已经更新的消息信息的推送与服务器推送能力等匹配,避免同步推送时容易产生的消息阻塞。其中多个消息处理线程采用异步消息处理方式逐一处理消息信息,而且由于采用了多个消息处理线程同时处理,所以还能够实现同步处理消息信息的功能。也就是说,本发明中通过同步异步的结合来在保证推送链路的通畅的前提下,提高推送的效率。
而且本发明还通过进一步地建立异常消息队列来统一地管理推送失败的消息信息,并重复推送失败的消息信息来减少推送失败的消息信息,并且这种异常消息队列的消息信息的推送方式还避免了推送失败的消息信息的丢失。
其中本发明的所述消息服务器是指包含有消息信息的服务器,而且最好是有不断地更新的消息信息的服务器。至于对所述消息信息的种类和内容并不限定,所以本发明的消息服务器可以是任何具有能够更新数据的服务器。
所述生成的或已经更新的消息信息是指服务器中用于表征人为等方式改变的数据所生成的消息信息,或者是已存在的消息信息的内容的更新。其中所述生成或更新是指相对于时间顺序在先,即上一次的消息信息收集时服务器中数据的状态而言表征所述数据的变化的消息信息。本发明正是对这些生成的或更新后的消息信息的维护,避免消息阻塞导致的消息信息的丢失等。
其中所述消息队列中的各个消息信息发送至对应的消息处理线程时,所述各个消息信息和各个消息处理线程之间的对应关系可以是现有技术中消息处理线程和其能够处理的消息的种类所决定的对应关系,也可以是用户根据需要自定义的对应关系,本发明中无论这种对应关系的具体内容是什么,只要在各个消息信息和各个消息处理线程之间能够产生一定的处理关系即可。因此本领域技术人员应该明确各个消息信息和各个消息处理线程之间的对应关系可以是任意的。
步骤S2中所述打包是指现有技术中数据传输中常用的打包方式,而且本领域技术人员可以根据需要选用不同的现有的打包方式,这里就不再赘述。同样所述异步消息处理方式也是现有技术中数据传输中常用的基于时序依次进行的消息处理方式,这里也就不再详细赘述。
而且步骤S4中消息处理线程将消息信息先转化为能够推送的发送格式在进行相应的推送,其中本领域技术人员应该知道这种格式的转化和推送的具体方式都可以采用现有技术的格式转化和推送方式这里也不再赘述。其中本发明中所述推送格式是指现有技术中任何能够应用于推送的消息信息的发送格式,本发明并不限定所述推送格式的具体所采用的格式。
较佳地,所述步骤S4为:各个消息处理线程分别在接收到消息信息中添加一标识符,所述标识符的内容预设为0,然后分别将接收到消息信息处理生成推送格式的消息信息并以异步消息处理方式推送;
所述步骤S5为:
S51、各个消息处理线程检测推送格式的消息信息是否推送成功,若成功,流程结束,否则进入步骤S52;
S52、检测推送失败的推送格式的消息信息中的标识符的内容是否等于一预设阈值,若是进入步骤S6,否则进入步骤S53;
S53、将推送失败的推送格式的消息信息中的标识符的内容加入1,然后将返回步骤S51。
本发明中还为各个消息处理线程设置了对同一消息信息的重发次数,从而尽可能在各个消息处理线程中完成消息信息的推送,减少异常消息队列所处理的消息信息的数量。这是因为大部分推送失败的原因都是偶发性的,容易克服,所以通过重新推送就可以成功发送,通过上述的设置方式能够使得异常消息队列中的消息信息均是确实存在异常情况的推送,所以使得异常消息队列所处理的内容特定化,降低了异常消息队列所要处理内容的复杂性。
其中所述预设阈值的内容是可以任意设定的,通过调节这个阈值可以确定滤除的推送失败中偶发性的推送失败的比例。
较佳地,所述步骤S2中还包括以下步骤:
从所述消息信息中选取需要同步发送的消息信息,以同步消息处理方式推送所述需要同步发送的消息信息。
由于消息服务器中对于某些特定消息信息的推送的时延等要求较高,所以采用异步消息处理方式不能够很好的满足上述要求,所以本发明还通过提供同步消息处理方式来同步地推送这些特定消息信息。其中这些特定消息信息在不同服务类型的服务器中是不同的,甚至可以是用户自行定义的,所以本发明对所述特定消息信息的内容不做限定。
因此本领域技术人员应该明确本发明的需要同步发送的消息信息正是指这些在不同服务类型的服务器中是不同的,甚至可以是用户自行定义的特定消息信息。
此外所述同步消息处理方式同样可以是现有技术中任意的能够同步处理并推送消息信息的具体实现方式,只要是能够实现同步处理并推送消息信息的技术方案都可以应用于本发明中。
本发明还提供了一种外发服务器,其特点是,所述外发服务器包括一定时消息收集单元、一SOA(面向对象架构)接口、一队列生成单元、一推送接口和一处理单元;所述外发服务器使用如上所述的消息推送方法;
其中所述定时消息收集单元以一预设时间间隔从消息服务器收集所有生成的或已经更新的消息信息,所述SOA接口用于从SOA架构的服务器中收集所有生成的或已经更新的消息信息;
所述队列生成单元生成一消息队列和一异常消息队列;所述处理单元中运行各个消息处理线程,并将所述消息队列中的各个消息信息发送至对应的消息处理线程中;所述处理单元还将推送失败的消息信息插入所述异常消息队列;
所述推送接口以异步消息处理方式推送所述异常消息队列中的各个消息信息或者推送各个消息处理线程生成的推送格式的消息信息。
为了便于描述,本发明将所述外发服务器按照功能划分为各种模块进行分别描述,所以在实施本发明时,可以把各模块的功能在同一个或多个软件和/或硬件中实现。
其中所述预设时间间隔是本领域技术人员可以任意设定的,其中所述预设时间间隔最好和外部的消息服务器中数据的更新速率匹配,从而避免遗漏更新或生成的消息信息。
较佳地,所述处理单元还用于从定时消息收集单元和SOA接口收集的消息信息中选取需要同步发送的消息信息,并通过推送接口以同步消息处理方式推送所述需要同步发送的消息信息。
所述需要同步发送的消息信息和同步消息处理方式在本发明中定义已在上面进行了详细地阐述,这里就不再赘述。
较佳地,所述外发服务器还包括一输入接口,所述输入接口接收拉取服务信息,所述处理单元还基于所述拉取服务信息通过SOA接口获取数据库数据并通过所述推送接口推送。
本发明的外发服务器还能够进行按照用户要求的服务内容提供相应的数据或信息。
本发明还提供了一种外发服务器系统,其特点是,所述外发服务器系统包括多个如上所述的外发服务器,每个外发服务器的处理单元中均还具有一守护线程和心跳线程;
其中预设所述外发服务器中的一个作为主服务器,其余所有的所述外发服务器作为从服务器;
所述主服务器的守护进程休眠,心跳线程运行,所有的所述从服务器处于休眠状态,但守护进程运行;
所有的从服务器的守护进程实时地检测是否收到主服务器的心跳线程发送的心跳信息,若接收到,则维持所有的所述从服务器的休眠状态,否则,将主服务器切换至休眠状态,从所有的所述从服务器中随机唤醒一个从服务器,所述被唤醒的从服务器的守护进程休眠,心跳线程运行。
本发明中通过多个服务器建立的主从服务器能够始终保持有一台外发服务器进行消息信息的推送工作,从而避免了一个外发服务器脱机导致系统失效的问题。
其中所述守护进程和心跳线程是通过信号交互方式来确认外发服务器的运行状态,当外发服务器故障是,心跳线程必然会发生异常,也就是心跳信息的失效或消失,而守护进程就是检测心跳线程是否发生异常。而且所述守护进程和心跳线程的构建方式可以采用任意的现有的交互式工作状态判断方式。
本领域技术人员应该能够认识到本发明中所述视频图像采集单元可以是任意的能够实现集图像数据和/或视频数据的单元部件或模块等。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
本发明的积极进步效果在于:
本发明的消息推送方法及其外发服务器通过采用队列的异步发送来避免系统阻塞,以及采用异常队列来避免推送信息丢失。同时通过多个外发服务器的主从结构构造的外发服务器系统能够在部分外发服务器失效时有其他外发服务器继续承担推送任务,所以提高信息推送平台的可靠性。
也就是说,本发明在解决电商平台的互联网接口之间的信息的交互,解决作为产品服务商与下游分销商的产品信息和订单状态等信息的同步的同时,同步的进行异步信息的同步,进行商品的上架,修改,下架等操作。解决录入人员,业务人员大量的工作量和重复的工作量,提高工作效率。
附图说明
图1为本发明的实施例1的外发服务器的结构示意图。
图2为本发明的实施例1的外发服务器的消息推送的流程图。
图3为本发明的实施例2的外发服务器系统的通信结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
本发明的外发服务器的信息收集来息于SOA接口和消息收集单元,以上接口和单元会把收集的信息经过以协议格式生成相应的消息包,插入到消息队列中,等待消息推送。同时不停的从消息队列中的读取消息,根据协议等方式,分发到对应的消息处理线程中,进行消息的处理和推送,一旦失败,进入重推队列。
本发明的外发服务器系统有专门的线程对其中的各个外发服务器进行维护。本发明采用类似主从机制以达到容错的目的,一旦一台服务器宕机,在一段时间内,另一台备机将会被启用,继续工作。
下面通过下述实施例来对本发明进行进一步地详细地说明。
实施例1
如图1所示,本实施例的外发服务器包括一定时消息收集单元1、一SOA接口2、一队列生成单元3、一推送接口4、一处理单元5和一输入接口6。
其中所述定时消息收集单元1以一预设时间间隔T从消息服务器中所有生成的或已经更新的消息信息。所述SOA接口2用于从SOA架构的服务器中收集所有生成的或已经更新的消息信息。
所述队列生成单元3生成一消息队列和一异常消息队列。所述处理单元5中运行着多个消息处理线程,所述消息处理线程用于处理消息信息,即所述消息队列中的各个消息信息发送至对应的消息处理线程之后,各个消息处理线程处理生成的推送格式的消息信息。所述处理单元5还将推送失败的消息信息插入所述异常消息队列。
所述处理单元4还用于从定时消息收集单元1和SOA接口2收集的消息信息中选取需要同步发送的消息信息,并通过推送接口4以同步消息处理方式推送所述需要同步发送的消息信息。
所述推送接口4用于以异步消息处理方式推送所述异常消息队列中的各个消息信息以及推送各个消息处理线程处理生成的推送格式的消息信息。
所述输入接口6用于接收客户端等发送的拉取服务信息,所述处理单元4还基于所述拉取服务信息通过SOA接口2获取数据库数据并通过所述推送接口4推送。
本实施例的工作原理如下:
首先,所述定时消息收集单元1和SOA接口2根据采集到的消息信息,与此同时所述队列生成单元3创建一个消息队列和一个异常消息队列。然后将确定需要附送的消息信息并插入到消息队列中。
其中消息队列的结构可以如下表所示:
字段名 数据类型 说明
MessageBody Varchar(max),not null 消息体序列化包
ApIInterfaceInfo Varchar(200),not null API接口信息
Market Int,not null 状态标记
DateTime DateTime,not null 创建时间
ErrorAmount Int,not null 订单回传失败次数
OrderID Varchar(100),not null 订单ID
OrderStatus Varchar(20),null 订单状态
当然本领域技术人员还可以自行定义不同的消息队列的结构。
此后会根据具体的插件配置信息等生成每种类型插件的消息处理线程,每个消息处理线程都可以有一个对应存放消息信息的内存队列,然后不停的从消息队列中读取消息信息,例如每次从消息队列中取500条数据,然后把消息信息分发到对应的消息处理线程的内存队列中,消息处理线程会根据其中找到对应的处理插件去处理消息信息。
例如:如果是订单回传插件,当处理成功后,将消息信息的状态标记会变更为2,当处理失败,会被标记为3,同时订单回传失败次数加1,下次消息又会被处理,如果失败次数到达3次以上时,该消息信息会被删除。如果是其它消息:处理成功后,状态标记为2(此后状态标记为2会被清除,例如五分钟后,将状态标记为2的消息清除),当处理失败时,标记信息在状态为3,并且把失败的消息放到异常消息队列并再次处理和推送消息信息
定时消息收集单元1可以是一个托管的应用程序,主要的工作是定时去调用相关接口,收集消息插入到消息队列中,比如产品信息,可以通过定时消息收集单元1完成对产品的自动新增,修改,下架等操作。
本实施例还可以对异常消息队列进行管理,可以将异常消息队列中的消息删除或者重新推送中。例如可以根据订单号、分销商信息、指定日期等生成订单回传信息,重新进行消息信息的推送。
如图2所示,本实施例的具体工作流程如下:
步骤1,收集消息服务器中所有生成的或已经更新的消息信息。
步骤2,将所述消息信息打包并插入一消息队列中,并且从所述消息信息中选取需要同步发送的消息信息,以同步消息处理方式推送所述需要同步发送的消息信息。
步骤3,将所述消息队列中的各个消息信息发送至对应的消息处理线程中。
步骤4,各个消息处理线程分别在接收到消息信息中添加一标识符,所述标识符的内容预设为0,然后分别将接收到消息信息处理生成推送格式的消息信息并以异步消息处理方式推送。
步骤5,各个消息处理线程检测推送格式的消息信息是否推送成功,若成功,流程结束,否则进入步骤6。
步骤6,检测推送失败的推送格式的消息信息中的标识符的内容是否等于一预设阈值,若是进入步骤8,否则进入步骤7。
步骤7,将推送失败的推送格式的消息信息中的标识符的内容加入1,然后将返回步骤5。
步骤8,将发送失败的所述推送格式的消息信息插入一异常消息队列中。
步骤9,以异步消息处理方式推送所述异常消息队列中的各个推送格式的消息信息。
步骤10,检测推送的推送格式的消息信息是否推送成功,若成功,流程结束,否则返回步骤9。
实施例2:
如图3所示,本实施例的外发服务器系统包括有4个实施例1中的外发服务器,其中每个外发服务器中都包括一守护线程和一心跳线程。
所述心跳线程的数据注册表可以采用下表所示结构:
字段名 数据类型 说明
ID PK,int,not null 自增长主键
ReadMark Int,not null 阅读标记字段
DateTime dateTime,not null 日期
MainProcessIP Varchar(50),not null 操作进程IP
IsStopServer Int,not null 是否终止服务
ServerName Varchar(50),null 服务名称
当然本领域技术人员还可以自行定义不同的心跳线程的数据注册表。
其中预设所述外发服务器中的一个作为主服务器11,其余3个所述外发服务器作为从服务器12。
所述主服务器11的守护进程休眠,心跳线程运行,3个所述从服务器12处于休眠状态,但守护进程运行;
3个从服务器12的守护进程实时地检测是否收到主服务器11的心跳线程发送的心跳信息,若接收到,则维持3个所述从服务器的休眠状态,否则,将主服务器11切换至休眠状态,从3个所述从服务器12中随机唤醒一个从服务器12,所述被唤醒的从服务器12的守护进程休眠,心跳线程运行。
此外当主服务器11休眠,3个从服务器12中的一个需要唤醒时,由于3个从服务器12对主服务器11的心跳检测的时间顺序不同,还可以按照3个从服务器12响应地时间的先后顺序来选择最先响应的从服务器12作为唤醒的从服务器12。
而且4个外发服务器中还可以采用定时消息收集单元1来负责心跳线程和守护线程的定期激活工作,例如每10分钟去调用一个激活接口,保证集群中的所有服务器上的线程都能被启动。
通过以上的消息推送方法、外发服务器及其系统的具体实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM(只读存储器/随机存取存储器)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
本申请的消息推送方法可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (7)

1.一种消息推送方法,其特征在于,所述消息推送方法包括以下步骤:
S1、收集消息服务器中所有生成的或已经更新的消息信息;
S2、将所述消息信息打包并插入一消息队列中;
S3、将所述消息队列中的各个消息信息发送至对应的消息处理线程中;
S4、各个消息处理线程将接收到消息信息处理生成推送格式的消息信息并以异步消息处理方式推送;
S5、各个消息处理线程检测推送格式的消息信息是否推送成功,若成功,流程结束,否则进入步骤S6;
S6、将发送失败的所述推送格式的消息信息插入一异常消息队列中;
S7、以异步消息处理方式推送所述异常消息队列中的各个推送格式的消息信息,并检测推送的推送格式的消息信息是否推送成功,若成功,流程结束,否则重复步骤S7。
2.如权利要求1所述的消息推送方法,其特征在于,所述步骤S4为:各个消息处理线程分别在接收到消息信息中添加一标识符,所述标识符的内容预设为0,然后分别将接收到消息信息处理生成推送格式的消息信息并以异步消息处理方式推送;
所述步骤S5为:
S51、各个消息处理线程检测推送格式的消息信息是否推送成功,若成功,流程结束,否则进入步骤S52;
S52、检测推送失败的推送格式的消息信息中的标识符的内容是否等于一预设阈值,若是进入步骤S6,否则进入步骤S53;
S53、将推送失败的推送格式的消息信息中的标识符的内容加入1,然后将返回步骤S51。
3.如权利要求1或2所述的消息推送方法,其特征在于,所述步骤S2中还包括以下步骤:
从所述消息信息中选取需要同步发送的消息信息,以同步消息处理方式推送所述需要同步发送的消息信息。
4.一种外发服务器,其特征在于,所述外发服务器包括一定时消息收集单元、一SOA接口、一队列生成单元、一推送接口和一处理单元;所述外发服务器使用如权利要求1或2所述的消息推送方法;
其中所述定时消息收集单元以一预设时间间隔从消息服务器收集所有生成的或已经更新的消息信息,所述SOA接口用于从SOA架构的服务器中收集所有生成的或已经更新的消息信息;
所述队列生成单元生成一消息队列和一异常消息队列;所述处理单元中运行各个消息处理线程,并将所述消息队列中的各个消息信息发送至对应的消息处理线程中;所述处理单元还将推送失败的消息信息插入所述异常消息队列;
所述推送接口以异步消息处理方式推送所述异常消息队列中的各个消息信息或者推送各个消息处理线程生成的推送格式的消息信息。
5.如权利要求4所述的外发服务器,其特征在于,所述处理单元还用于从定时消息收集单元和SOA接口收集的消息信息中选取需要同步发送的消息信息,并通过推送接口以同步消息处理方式推送所述需要同步发送的消息信息。
6.如权利要求4或5所述的外发服务器,其特征在于,所述外发服务器还包括一输入接口,所述输入接口接收拉取服务信息,所述处理单元还基于所述拉取服务信息通过SOA接口获取数据库数据并通过所述推送接口推送。
7.一种外发服务器系统,其特征在于,所述外发服务器系统包括多个如权利要求4-6中任一项所述的外发服务器,每个外发服务器的处理单元中均还具有一守护线程和一心跳线程;
其中预设所述外发服务器中的一个作为主服务器,其余所有的所述外发服务器作为从服务器;
所述主服务器的守护进程休眠,心跳线程运行,所有的所述从服务器处于休眠状态,但守护进程运行;
所有的从服务器的守护进程实时地检测是否收到主服务器的心跳线程发送的心跳信息,若接收到,则维持所有的所述从服务器的休眠状态,否则,将主服务器切换至休眠状态,从所有的所述从服务器中随机唤醒一个从服务器,所述被唤醒的从服务器的守护进程休眠,心跳线程运行。
CN201310261283.0A 2013-06-26 2013-06-26 消息推送方法及其外发服务器和外发服务器系统 Active CN103856392B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310261283.0A CN103856392B (zh) 2013-06-26 2013-06-26 消息推送方法及其外发服务器和外发服务器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310261283.0A CN103856392B (zh) 2013-06-26 2013-06-26 消息推送方法及其外发服务器和外发服务器系统

Publications (2)

Publication Number Publication Date
CN103856392A true CN103856392A (zh) 2014-06-11
CN103856392B CN103856392B (zh) 2017-05-24

Family

ID=50863628

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310261283.0A Active CN103856392B (zh) 2013-06-26 2013-06-26 消息推送方法及其外发服务器和外发服务器系统

Country Status (1)

Country Link
CN (1) CN103856392B (zh)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158899A (zh) * 2014-08-25 2014-11-19 深圳市中兴移动通信有限公司 基于面向服务架构的移动终端信息推送方法、装置及系统
CN104156863A (zh) * 2014-08-08 2014-11-19 携程计算机技术(上海)有限公司 Ota网站的订单处理系统及方法
CN104601668A (zh) * 2014-12-24 2015-05-06 北京京东尚科信息技术有限公司 基于状态管理的数据推送方法、装置和系统
CN105072181A (zh) * 2015-08-07 2015-11-18 北京思特奇信息技术股份有限公司 一种基于通知调度中心的消息数据分发系统及其方法
CN105162682A (zh) * 2015-07-29 2015-12-16 大连理工大学 一种实现离线状态定时推送消息的方法
CN105554142A (zh) * 2015-12-24 2016-05-04 北京奇虎科技有限公司 消息推送的方法、装置及系统
CN105843937A (zh) * 2016-03-31 2016-08-10 北京奇虎科技有限公司 数据处理方法和装置
CN106407021A (zh) * 2016-07-01 2017-02-15 厦门易名科技股份有限公司 一种基于队列的业务请求处理方法
CN106453635A (zh) * 2016-11-21 2017-02-22 深圳广联赛讯有限公司 消息推送方法及装置
CN106603605A (zh) * 2015-10-16 2017-04-26 阿里巴巴集团控股有限公司 数据传输方法和系统
CN106790716A (zh) * 2017-03-14 2017-05-31 南京海獭软件有限责任公司 基于锁屏状态的图片推送方法与系统
CN106909456A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 一种信息获取方法及装置
CN106953933A (zh) * 2017-05-18 2017-07-14 腾讯科技(深圳)有限公司 一种消息推送方法及装置、电子设备
CN107622060A (zh) * 2016-07-13 2018-01-23 北京京东尚科信息技术有限公司 订单跟踪分析方法及装置
CN107734062A (zh) * 2017-11-15 2018-02-23 维沃移动通信有限公司 消息推送方法及装置
CN107741884A (zh) * 2017-10-09 2018-02-27 武汉斗鱼网络科技有限公司 一种分层状态机实现消息推送的方法和装置
CN108182637A (zh) * 2017-12-28 2018-06-19 泰康保险集团股份有限公司 一种绿通服务卷的生成方法、装置、介质和电子设备
CN108400927A (zh) * 2018-01-22 2018-08-14 广州欧赛斯信息科技有限公司 一种针对高并发消息的消息推送方法及装置
CN108733758A (zh) * 2018-04-11 2018-11-02 北京三快在线科技有限公司 酒店静态数据推送方法、装置、电子设备及可读存储介质
CN108924041A (zh) * 2018-08-03 2018-11-30 北京捷易迅信息技术有限公司 一种即时通讯中消息高效可靠发送方法
CN109684111A (zh) * 2018-12-28 2019-04-26 安徽同徽网络技术有限公司 消息推送方法、消息推送系统和计算机可读存储介质
CN110048892A (zh) * 2019-04-22 2019-07-23 携程旅游信息技术(上海)有限公司 通讯平台故障隔离方法及系统
CN105630635B (zh) * 2015-12-29 2019-07-30 北京京东尚科信息技术有限公司 数据容灾系统和方法
CN110191141A (zh) * 2018-02-23 2019-08-30 阿里巴巴集团控股有限公司 服务调用信息处理方法、装置及计算机系统
CN111064799A (zh) * 2019-12-25 2020-04-24 北京首信科技股份有限公司 应用于物联网的数据推送方法、装置、设备及存储介质
CN111614548A (zh) * 2020-05-20 2020-09-01 广州平云小匠科技有限公司 消息推送方法、装置、计算机设备和存储介质
CN112367214A (zh) * 2020-10-12 2021-02-12 成都精灵云科技有限公司 基于etcd的主节点快速检测和切换方法
CN113422739A (zh) * 2021-06-21 2021-09-21 上海哔哩哔哩科技有限公司 数据传输方法、发送端及数据传输系统
CN115086203A (zh) * 2022-06-15 2022-09-20 中国工商银行股份有限公司 数据发送方法、装置、电子设备及计算机可读存储介质
CN115629890A (zh) * 2022-10-27 2023-01-20 圣名科技(广州)有限责任公司 传感器数据采集方法及装置、电子设备
WO2023116701A1 (zh) * 2021-12-23 2023-06-29 天翼物联科技有限公司 基于物联网平台的数据信息推送方法、装置、设备及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340400B (zh) * 2008-08-29 2011-01-19 中兴通讯股份有限公司 一种异步消息处理方法及系统
CN102025650A (zh) * 2010-06-04 2011-04-20 西本新干线股份有限公司 企业服务总线的消息处理系统和消息处理方法
CN102468965A (zh) * 2010-10-29 2012-05-23 李立明 一种消息智能推送系统及方法
CN103019866B (zh) * 2012-10-24 2017-02-08 北京京东世纪贸易有限公司 基于消息队列的分布式方法和系统

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156863A (zh) * 2014-08-08 2014-11-19 携程计算机技术(上海)有限公司 Ota网站的订单处理系统及方法
CN104156863B (zh) * 2014-08-08 2017-12-22 上海携程商务有限公司 Ota网站的订单处理系统及方法
CN104158899B (zh) * 2014-08-25 2015-12-02 努比亚技术有限公司 基于面向服务架构的移动终端信息推送方法、装置及系统
CN104158899A (zh) * 2014-08-25 2014-11-19 深圳市中兴移动通信有限公司 基于面向服务架构的移动终端信息推送方法、装置及系统
CN104601668A (zh) * 2014-12-24 2015-05-06 北京京东尚科信息技术有限公司 基于状态管理的数据推送方法、装置和系统
CN104601668B (zh) * 2014-12-24 2019-01-18 北京京东尚科信息技术有限公司 基于状态管理的数据推送方法、装置和系统
CN105162682A (zh) * 2015-07-29 2015-12-16 大连理工大学 一种实现离线状态定时推送消息的方法
CN105072181A (zh) * 2015-08-07 2015-11-18 北京思特奇信息技术股份有限公司 一种基于通知调度中心的消息数据分发系统及其方法
CN106603605A (zh) * 2015-10-16 2017-04-26 阿里巴巴集团控股有限公司 数据传输方法和系统
CN106909456A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 一种信息获取方法及装置
CN105554142A (zh) * 2015-12-24 2016-05-04 北京奇虎科技有限公司 消息推送的方法、装置及系统
CN105554142B (zh) * 2015-12-24 2019-02-01 北京奇虎科技有限公司 消息推送的方法、装置及系统
CN105630635B (zh) * 2015-12-29 2019-07-30 北京京东尚科信息技术有限公司 数据容灾系统和方法
CN105843937A (zh) * 2016-03-31 2016-08-10 北京奇虎科技有限公司 数据处理方法和装置
CN106407021A (zh) * 2016-07-01 2017-02-15 厦门易名科技股份有限公司 一种基于队列的业务请求处理方法
CN107622060A (zh) * 2016-07-13 2018-01-23 北京京东尚科信息技术有限公司 订单跟踪分析方法及装置
CN106453635A (zh) * 2016-11-21 2017-02-22 深圳广联赛讯有限公司 消息推送方法及装置
CN106453635B (zh) * 2016-11-21 2019-08-06 深圳广联赛讯有限公司 消息推送方法及装置
CN106790716B (zh) * 2017-03-14 2020-06-19 南京海獭软件有限责任公司 基于锁屏状态的图片推送方法与系统
CN106790716A (zh) * 2017-03-14 2017-05-31 南京海獭软件有限责任公司 基于锁屏状态的图片推送方法与系统
CN106953933A (zh) * 2017-05-18 2017-07-14 腾讯科技(深圳)有限公司 一种消息推送方法及装置、电子设备
CN107741884A (zh) * 2017-10-09 2018-02-27 武汉斗鱼网络科技有限公司 一种分层状态机实现消息推送的方法和装置
CN107734062A (zh) * 2017-11-15 2018-02-23 维沃移动通信有限公司 消息推送方法及装置
CN108182637A (zh) * 2017-12-28 2018-06-19 泰康保险集团股份有限公司 一种绿通服务卷的生成方法、装置、介质和电子设备
CN108400927A (zh) * 2018-01-22 2018-08-14 广州欧赛斯信息科技有限公司 一种针对高并发消息的消息推送方法及装置
CN108400927B (zh) * 2018-01-22 2021-01-26 广州欧赛斯信息科技有限公司 一种针对高并发消息的消息推送方法及装置
CN110191141A (zh) * 2018-02-23 2019-08-30 阿里巴巴集团控股有限公司 服务调用信息处理方法、装置及计算机系统
CN108733758A (zh) * 2018-04-11 2018-11-02 北京三快在线科技有限公司 酒店静态数据推送方法、装置、电子设备及可读存储介质
CN108924041A (zh) * 2018-08-03 2018-11-30 北京捷易迅信息技术有限公司 一种即时通讯中消息高效可靠发送方法
CN109684111A (zh) * 2018-12-28 2019-04-26 安徽同徽网络技术有限公司 消息推送方法、消息推送系统和计算机可读存储介质
CN110048892A (zh) * 2019-04-22 2019-07-23 携程旅游信息技术(上海)有限公司 通讯平台故障隔离方法及系统
CN110048892B (zh) * 2019-04-22 2022-08-12 携程旅游信息技术(上海)有限公司 通讯平台故障隔离方法及系统
CN111064799A (zh) * 2019-12-25 2020-04-24 北京首信科技股份有限公司 应用于物联网的数据推送方法、装置、设备及存储介质
CN111614548A (zh) * 2020-05-20 2020-09-01 广州平云小匠科技有限公司 消息推送方法、装置、计算机设备和存储介质
CN112367214A (zh) * 2020-10-12 2021-02-12 成都精灵云科技有限公司 基于etcd的主节点快速检测和切换方法
CN112367214B (zh) * 2020-10-12 2022-06-14 成都精灵云科技有限公司 基于etcd的主节点快速检测和切换方法
CN113422739A (zh) * 2021-06-21 2021-09-21 上海哔哩哔哩科技有限公司 数据传输方法、发送端及数据传输系统
WO2023116701A1 (zh) * 2021-12-23 2023-06-29 天翼物联科技有限公司 基于物联网平台的数据信息推送方法、装置、设备及介质
CN115086203A (zh) * 2022-06-15 2022-09-20 中国工商银行股份有限公司 数据发送方法、装置、电子设备及计算机可读存储介质
CN115086203B (zh) * 2022-06-15 2024-03-08 中国工商银行股份有限公司 数据发送方法、装置、电子设备及计算机可读存储介质
CN115629890A (zh) * 2022-10-27 2023-01-20 圣名科技(广州)有限责任公司 传感器数据采集方法及装置、电子设备

Also Published As

Publication number Publication date
CN103856392B (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
CN103856392A (zh) 消息推送方法及其外发服务器和外发服务器系统
CN112565415B (zh) 一种基于云边协同的跨地域资源纳管系统和纳管方法
CN102135929B (zh) 一种分布式容错服务系统
US20070094659A1 (en) System and method for recovering from a failure of a virtual machine
US7937716B2 (en) Managing collections of appliances
CN105429791B (zh) 一种分布式服务状态检测器及方法
US20090063650A1 (en) Managing Collections of Appliances
CN102880475A (zh) 计算机软件系统中基于云计算的实时事件处理系统及方法
CN102571452A (zh) 多节点管理的方法和系统
CN109769001A (zh) 一种物联网数据传输方法及系统
CN102508886B (zh) 一种基于xml的空间数据增量同步更新方法
CN109766201A (zh) 任务分发方法、服务器、客户端和系统
CN105721582A (zh) 多节点文件备份系统
CN103199968A (zh) 一种消息的发送方法和系统
CN103475696A (zh) 云计算集群服务器状态监控系统和方法
CN108156225A (zh) 基于容器云平台的微应用监控系统和方法
CN107181805A (zh) 一种在微服务架构下实现全局有序重演的方法
CN101071435B (zh) 一种基于嵌入式数据库的分布式访问方法
CN106375103B (zh) 一种告警数据采集和发送方法
CN109657005A (zh) 一种分布式集群系统的数据缓存方法、装置及设备
CN108390919A (zh) 一种用于高可靠双机热备的消息同步系统及方法
CN104158833A (zh) 一种智能桌面系统的构建方法
CN202565318U (zh) 分布式虚拟化存储系统
US9853933B2 (en) Message queue replication with message ownership migration
CN111797352A (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
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160205

Address after: 200335 Shanghai city Changning District Admiralty Road No. 968 Building No. 16 10 floor

Applicant after: SHANGHAI XIECHENG BUSINESS CO., LTD.

Address before: 200335 Shanghai City, Changning District Fuquan Road No. 99, Ctrip network technology building

Applicant before: Ctrip computer technology (Shanghai) Co., Ltd.

GR01 Patent grant
GR01 Patent grant