CN104683288B - 消息续传方法和装置 - Google Patents
消息续传方法和装置 Download PDFInfo
- Publication number
- CN104683288B CN104683288B CN201310610915.XA CN201310610915A CN104683288B CN 104683288 B CN104683288 B CN 104683288B CN 201310610915 A CN201310610915 A CN 201310610915A CN 104683288 B CN104683288 B CN 104683288B
- Authority
- CN
- China
- Prior art keywords
- message
- list
- sequence number
- sink end
- index
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/4061—Push-to services, e.g. push-to-talk or push-to-video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了消息续传方法和装置。本发明中,仅向状态为正常的消息接收端发送消息,而针对状态为异常的消息接收端,是不向其发送消息的,这能够避免消息传输过程中的丢包现象;至于状态为异常的消息接收端,其在恢复正常比如重启或者重连时,会将截至当前最新收到的消息所标记的序列号发送至中转服务器,以由中转服务器执行消息续传机制,实现了消息续传,保证消息接收端收到在异常时无法收到的消息,以应对网络质量不好的情况。
Description
技术领域
本申请涉及数据处理技术,特别涉及消息续传方法和装置。
背景技术
首先,为使本申请容易理解,先对本申请涉及的技术术语进行描述:
消息发送端:用于生成消息并发送至中转服务器。
消息接收端:用于接收中转服务器发送的由消息发送端生成的消息,并对接收的消息进行相应的业务处理。
中转服务器:用于接收由消息发送端生成并发送的消息,并转发给一个或多个消息接收端。
续传:其目的是避免异常情况下消息不丢失,在微博应用中,为保证微博后台机器在各种异常情况下传递消息不丢失,并能够传递到各个消息接收端,就需要在中转服务器引入可靠的续传机制;
然而,目前尚有一些中转服务器不支持续传,当消息发送端生成消息后,其将消息发送给中转服务器,然后中转服务器将该消息转发给消息接收端,实现消息的转发。但是,由于中转服务器不支持续传,其不能感知消息接收端是否成功收取了消息;当消息接收端故障、或者进程异常时,如果中转服务器仍然持续发包,就会出现大量的丢包现象。
发明内容
本申请提供了消息续传方法和装置,以避免消息传输过程中的丢包现象。
本申请提供的技术方案包括:
一种消息续传方法,该方法应用于中转服务器,包括:
接收消息,并按照序列号递增原则为该消息分配序列号,将该消息、该消息对应的消息标识、以及该消息被分配的序列号保存至消息列表,其中,任意两个消息被分配的序列号不同;
接收消息订阅请求,所述消息订阅请求携带了发送该消息订阅请求的消息接收端的标识和状态以及该消息接收端需要订阅的消息对应的消息标识;
将所述消息订阅请求携带的消息标识、消息接收端的标识和状态存储至消息接收端列表中;
从消息接收端列表中选取消息标识、且状态为正常的消息接收端的标识;
从消息列表中找到与选取的消息标识对应的消息,依据选取的消息接收端的标识将该消息、以及该消息被分配的序列号一起发送至消息接收端,并将该序列号作为向该消息接收端发送的消息的序列号记录至消息接收端列表;
接收消息接收端发送的序列号,依据接收的序列号和消息接收端列表记录的向该消息接收端的标识发送的消息的序列号续传对应的消息至该消息接收端;
其中,所述消息接收端列表包括索引列表和数组列表;所述索引列表中包含多个索引块,所述数组列表中包含数组块;
所述将消息订阅请求携带的消息标识、消息接收端的标识和状态存储至消息接收端列表中包括:
依据消息订阅请求携带的消息标识,识别所述索引列表中是否存在已记录了该消息标识的索引块,如果是,从所述数组列表的首个数组块开始顺次遍历所述数组列表,将在所述数组列表中最先遍历到的空闲数组块的地址记录至该存在的索引块,如果否,从所述数组列表的首个数组块开始顺次遍历所述数组列表,将在所述数组列表中最先遍历到的空闲数组块的地址与该消息标识一起记录至所述索引列表中的空闲索引块;
在所述数组列表中最先遍历到的空闲数组块内记录该消息请求携带的消息接收端的标识和状态。
一种消息续传装置,该装置应用于处于消息发送端和消息接收端之间的中转服务器,包括:
该装置应用于处于消息发送端和消息接收端之间的中转服务器,包括:
消息接收单元,用于接收消息,并按照序列号递增原则为该消息分配序列号,将该消息、该消息对应的消息标识、以及该消息被分配的序列号保存至消息列表,其中,任意两个消息被分配的序列号不同;
订阅请求接收单元,用于接收消息订阅请求,所述消息订阅请求携带了发送该消息订阅请求的消息接收端的标识和状态以及该消息接收端需要订阅的消息对应的消息标识;
第一处理单元,用于将所述消息订阅请求携带的消息标识、消息接收端的标识和状态存储至消息接收端列表中;
第二处理单元,用于从消息接收端列表中选取消息标识、且状态为正常的消息接收端的标识;
第三处理单元,用于从消息列表中找到与选取的消息标识对应的消息,依据选取的消息接收端的标识将该消息、以及该消息被分配的序列号一起发送至消息接收端,并将该序列号作为向该消息接收端发送的消息的序列号记录至消息接收端列表;
续传单元,用于接收消息接收端发送的序列号,依据接收的序列号和消息接收端列表记录的向该消息接收端的标识发送的消息的序列号续传对应的消息至该消息接收端;
消息接收端列表包括索引列表和数组列表;所述索引列表中包含多个索引块,所述数组列表中包含数组块;
所述订阅请求单元将消息订阅请求携带的消息标识、消息接收端的标识和状态存储至所述消息接收端列表中包括:
依据所述消息订阅请求携带的所述消息标识,识别所述索引列表中是否存在已记录了该消息标识的索引块,如果是,从所述数组列表的首个数组块开始顺次遍历所述数组列表,将在所述数组列表中最先遍历到的空闲数组块的地址记录至该存在的索引块,如果否,从所述数组列表的首个数组块开始顺次遍历数组列表,将在所述数组列表中最先遍历到的空闲数组块的地址与该消息标识一起记录至所述索引列表中的空闲索引块;
在数组列表中最先遍历到的空闲数组块内记录该消息请求携带的消息接收端的标识和状态。
由以上技术方案可以看出,本发明中,中转服务器仅向状态为正常的消息接收端发送消息,而针对状态为异常的消息接收端,本发明是不向其发送消息的,这能够避免中转服务器在消息传输过程中的丢包现象。至于状态为异常的消息接收端,其在恢复正常比如重启或者重连时,会将截至当前最新收到的消息所标记的序列号发送至中转服务器,以由中转服务器执行消息续传机制,实现了消息续传,保证消息接收端收到在异常时无法收到的消息,以应对网络质量不好的情况。
附图说明
图1为本发明实施例提供的方法流程图;
图2为本发明实施例提供的步骤101中消息及其对应的序列号缓存至消息列表的流程图;
图3为本发明实施例提供的消息列表的结构示意图;
图4为本发明实施例提供的步骤103实现流程图;
图5为本发明实施例提供的消息接收端列表的具体结构示意图;
图6为本发明实施例提供的消息续传实现流程图;
图7为本发明实施例提供的装置结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法能够避免消息传输过程中的丢包现象。下面通过图1对本发明提供的方法进行描述:
参见图1,图1为本发明实施例提供的方法流程图。该方法应用于处于消息发送端和消息接收端之间的中转服务器,如图1所示,该中转服务器执行以下步骤:
步骤101,接收消息,并按照序列号递增原则为该消息分配序列号,将该消息、该消息对应的消息标识、以及该消息被分配的序列号保存至消息列表,其中,任意两个消息被分配的序列号不同。
本发明中,当消息发送端生成一个消息后,其会转发给中转服务器,由中转服务器负责该消息的转发。当中转服务器接收到来自消息发送端发送的消息后,中转服务器会按照序列号递增原则为该消息分配序列号,比如,目前已接收到10个消息,该10个消息的序列号依次为1至10,当再收到消息时,就为该消息分配序列号11。
在本发明中,为保证消息的唯一性,中转服务器为任意两个消息分配的序列号均不同,以避免引起后续错误转发消息。
在本发明中,消息发送端发送的消息具有对应的消息标识。作为本发明的一个实施例,消息对应的消息标识与消息自身的类型有关,其具体是对消息的类型进行哈希运算得到的结果。优选地,本发明中,在消息对应的消息标识具体为对消息的类型进行哈希运算得到的结果的前提下,本步骤101中的消息列表可承载5~200种类型消息的缓存及转发。
作为本发明的一个优选实例,图2示出了如何将接收的消息、以及该消息对应的序列号对应缓存至消息列表的流程图,图3示出了消息列表的结构示意图,这里暂不赘述。
步骤102,接收消息订阅请求,所述消息订阅请求携带了发送该消息订阅请求的消息接收端的标识和状态以及该消息接收端需要订阅的消息对应的消息标识。
本发明中,当消息接收端需要订阅消息时,其会向中转服务器发送消息订阅请求,该消息订阅请求携带了消息接收端的标识、状态、以及消息接收端需要订阅的消息对应的消息标识。
本发明中,消息接收端的状态包括以下两种情况:正常、异常。其中,当消息接收端稳定工作,则表示消息接收端状态正常,反之,当消息接收端不能稳定工作,比如进程故障、或者消息接收端自身故障等,则表示消息接收端状态异常。
步骤103,将所述消息订阅请求携带的消息标识、消息接收端的标识和状态存储至消息接收端列表中。
作为本发明的一个实施例,图4示出了步骤103的实现流程图。图5示出了消息接收端列表的具体结构示意图。这里暂不赘述。
步骤104,从消息接收端列表中选取消息标识、且状态为正常的消息接收端的标识。
下文基于图2所示的如何将接收的消息、以及该消息对应的序列号对应缓存至消息列表的流程,以及图4示出了步骤103的实现流程,对本步骤104进行了详细描述,这里暂不赘述。
步骤105,从消息列表中找到与选取的消息标识对应的消息,依据选取的消息接收端的标识将该消息、以及该消息被分配的序列号一起发送至消息接收端,并将该序列号作为向该消息接收端发送的消息的序列号记录至消息接收端列表。
基于上面描述的,消息对应的消息标识是通过对消息的类型进行哈希运算得到的结果,而通常同一类型的消息具体可包含多个,基于此,本步骤105中找到的消息就有可能为多个,这在步骤202中也进行了描述。
当本步骤105中找到的消息有两个以上时,本步骤105可按照序列号从小到大的顺序将消息、以及该消息被分配的序列号发送至消息接收端。比如,本步骤105中找到的消息有10个,该10个消息的序列号分别为101至110,基于此,本步骤105可先将序列号为101的消息、以及序列号101发送至消息接收端,之后,按照序列号从小到大的顺序依次发送剩下的消息,直至最终将序列号为110的消息、以及序列号110发送至消息接收端。
从步骤105可以看出,本发明中,中转服务器仅向状态为正常的消息接收端发送消息,而针对状态为异常的消息接收端,本发明是不向其发送消息的,这能够避免中转服务器在消息传输过程中的丢包现象。至于状态为异常的消息接收端,其在恢复正常比如重启或者重连时,会将截至当前收到的消息所标记的最大序列号发送至中转服务器,以由中转服务器执行消息续传机制,具体见步骤106。
步骤106,接收消息接收端发送的序列号,依据接收的序列号和消息接收端列表记录的向该消息接收端的标识发送的消息的序列号续传对应的消息至该消息接收端。
这里,消息接收端发送的序列号为截至当前收到的消息所标记的最大序列号。
具体地,下文基于图2所示的如何将接收的消息、以及该消息对应的序列号对应缓存至消息列表的流程,以及图4示出了步骤103的实现流程,通过图6描述了本步骤106如何依据接收的序列号和消息接收端列表记录的向该消息接收端的标识发送的消息的序列号续传对应的消息至该消息接收端,这里暂不赘述。
至此,完成图1所示流程。
通过图1所示流程可以看出,本发明中,中转服务器仅向状态为正常的消息接收端发送消息,而针对状态为异常的消息接收端,本发明是不向其发送消息的,这能够避免中转服务器在消息传输过程中的丢包现象。至于状态为异常的消息接收端,其在恢复正常比如重启或者重连时,会发送截至当前收到的消息所标记的最大序列号至中转服务器,以由中转服务器执行消息续传机制,实现消息续传,具体参见图6所示流程。
下面对图2所示流程进行描述:
参见图2,图2为本发明实施例提供的步骤101中消息及其对应的序列号缓存至消息列表的流程图。
其中,在描述图2所示流程之前,先对本发明涉及的消息列表进行描述。在本发明中,消息列表是由以下三个表组成:一级索引列表、二级索引列表和数据列表;图3示出了这三个表的结构。如图3所示,一级索引列表、二级索引列表和数据列表都被划分成了多个方块,应用中,一级索引列表、二级索引列表和数据列表的各个方块的大小在划分时没有关系。为便于描述,这里将一级索引列表中的方块称为一级索引块,将二级索引列表中的方块称为二级索引块,以及将数据列表中的方块称为数据块。
基于图3所示的一级索引列表、二级索引列表和数据列表,如图2所示,该流程可包括以下步骤:
步骤201,依据消息对应的消息标识识别一级索引列表中是否存在已记录了该消息标识的一级索引块,如果是,执行步骤202,如果否,执行步骤203。
步骤202,从二级索引列表的首个二级索引块开始顺次遍历二级索引列表,将在二级索引列表中最先遍历到的空闲二级索引块的地址记录至该存在的一级索引块。之后执行步骤204。
基于上面描述的,每一个消息都具有对应的消息标识,当一级索引块记录了该消息对应的消息标识,也就意味着之前已收到并记录该消息标识对应的消息,但是,因为该消息是在不同时间发送的,中转服务器仍然认为是两条不同的消息,需要记录,只不过在记录时,为节省一级索列表空间,只要收到消息后,发现一级索列表空间存在记录了该消息对应的消息标识的一级索引块,就不再针对重新启用一个一级索引块记录该收到的消息对应的消息标识,而是利用已记录了该消息标识的一级索引块,在该一级索引块中进一步记录针对该收到消息遍历到的二级索引块的地址。
步骤203,从二级索引列表的首个二级索引块开始顺次遍历二级索引列表,将在二级索引列表中最先遍历到的空闲二级索引块的地址、与该消息标识一起记录至一级索引列表中的空闲一级索引块。之后执行步骤204。
步骤204,从数据列表的首个数据块开始顺次遍历数据列表,将在数据列表中最先遍历到的空闲数据块的地址、以及该消息被分配的序列号记录至在二级索引列表中最先遍历到的空闲二级索引块。
步骤205,在数据列表中最先遍历到的空闲数据块记录该消息。
也就是说,本发明中,数据列表中的数据块是用于存放具体消息的。
优选地,本步骤205中,如何在数据列表中最先遍历到的空闲数据块记录该消息是依赖于消息的大小和数据块的大小,具体为:
比较该消息的大小与最先遍历到的空闲数据块的大小;
如果前者小于或等于后者,则在数据列表中最先遍历到的空闲数据块记录该消息;
如果前者大于后者,则确定记录该消息需要使用的数据块数量N,从所述最先遍历到的空闲数据块开始使用数据列表中N个空闲数据块一起记录该消息;其中,在使用N块数据块记录消息时,每个数据块的尾部需要记录下个数据块的地址。
这里,确定记录该消息需要使用数据列表中数据块的数量N可按照以下公式计算:
N=sizeof(pkg)%(数据块大小)+1;
其中,sizeof(pkg)为消息的长度。
作为本发明的一个实施例,数据列表中数据块的大小可根据实际情况设置,比如,目前微博消息大小从100个字节到4K字节大小不定,这里可根据经验设置数据列表中数据块的大小为400个字节。
至此,完成图2所示流程。
基于图2所示流程,图3具体示出了一级索引列表、二级索引列表和数据列表如何配合完成消息的存储,具体如图3所示,这里不再赘述。
基于图2所示流程,优选地,在步骤105中,所述所述从消息列表中找到与选取的消息标识对应的消息包括:
依据该选取的消息标识从一级索引列表中找到已记录了该消息标识的一级索引块,识别该找到的一级索引块记录的二级索引块地址;
针对识别出的每一二级索引块地址执行以下步骤:
从二级索引列表中找到该二级索引块地址记录的数据块地址,
如果数据列表中该数据块地址未记录其他数据块的地址,则将该数据块地址记录的内容作为与该选取的消息标识对应的消息;
如果数据列表中该数据块地址记录了其他数据块地址,则,
将该数据块地址作为首个数据块地址,将首个数据块地址记录的其他数据块地址作为当前数据块,识别当前数据块是否记录了其他数据块地址,
如果否,将数据列表中从首个数据块地址至当前数据块地址记录的内容组织在一起作为与该选取的消息标识对应的消息,
如果是,将当前数据块地址记录的其他数据块地址更新为当前数据块地址,返回识别当前数据块地址是否记录了其他数据块地址的操作。
下面对图4所示流程进行描述:
参见图4,图4为本发明实施例提供的步骤103实现流程图。其中,在描述图4所示流程之前,先对本发明涉及的消息接收端列表进行描述。
在本发明中,消息接收端列表是由以下两个表组成:索引列表和数组列表;图5示出了这两个表的结构。如图5所示,索引列表、数组列表都被划分成了多个方块,应用中,索引列表、数组列表的各个方块的大小在划分时没有任何关系。为便于描述,这里将索引列表中的方块称为索引块,将数组列表中的方块称为数组块。
基于图5所示的索引列表、数组列表的结构,如图4所示,该流程可包括以下步骤:
步骤401,依据消息订阅请求携带的消息标识,识别索引列表中是否存在已记录了该消息标识的索引块,如果是,执行步骤402,如果否,执行步骤403。
步骤402,从数组列表的首个数组块开始顺次遍历数组列表,将在数组列表中最先遍历到的空闲数组块的地址记录至该存在的索引块。之后执行步骤404。
步骤403,从数组列表的首个数组块开始顺次遍历数组列表,将在数组列表中最先遍历到的空闲数组块的地址与该消息标识一起记录至索引列表中的空闲索引块。之后执行步骤404。
步骤404,在数组列表中最先遍历到的空闲数组块内记录该消息请求携带的消息接收端的标识和状态。
因为消息接收端的标识和状态本身占用的字节并不是很多,一般一个数组块就足以记录,这可在数组列表划分数组块时设置,没有必要像数据块存储消息时那样复杂。
至此,完成图4所示流程。
通过图4所示流程的步骤401至步骤404可以看出,本发明在存储消息接收端时,并非按照消息接收端的标识为索引,而是按照消息接收端需要订阅的消息对应的消息标识作为索引,这样能够将订阅同一种消息的消息接收端集中在一起存储,实现消息的高效转发。
基于图4所示流程,图5具体示出了索引列表和数组列表如何配合完成消息接收端的标识、状态和需要订阅的消息对应的消息标识的存储,具体如图5所示,这里不再赘述。
需要说明的是,本发明中,中转服务器需要实时检测已发送消息订阅请求的每一消息接收端的状态,当检测出该消息接收端的状态与数组列表记录的该消息接收端的状态不一致,用检测出的该消息接收端的状态更新数组列表中记录的该消息接收端的状态。比如,如图5所示,当中转服务器检测出消息接收端1的状态为异常,而数组列表记录的该消息接收端1的状态为正常,两者不一致,基于此,本发明中,就将数组列表记录的该消息接收端1的状态从正常更新为异常。
基于图4所示流程,优选地,步骤105中,所述从消息接收端列表中选取消息标识、消息接收端的标识和状态包括:
识别索引列表中每一索引块记录的消息标识和数组块地址;
针对识别出的每一数组块地址,从数组列表中找到该数组块地址记录的消息接收端的状态,如果该状态为正常,则选取该数组块地址记录的消息接收端的标识。
相应地,步骤105中,所述所述将该序列号作为向消息接收端发送的消息的序列号记录至消息接收端列表包括:
在数组列表中找到记录了该消息接收端标识的数组块;
在找到的数组块内记录该序列号。
比如,向消息接收端1发送序列号为10的消息,则将该序列号10记录在数组列表中记录了该消息接收端1的数组块内。
下面对图6所示流程进行描述:
参见图6,图6为本发明实施例提供的消息续传实现流程图。如图6所示,该流程可包括以下步骤:
步骤601,从数组列表中找到记录了该消息接收端标识的数组块。
步骤602,比较接收的序列号和该找到的数组块记录的最大序列号,如果前者小于后者,则执行步骤603,如果前者大于后者,执行步骤604。
比如,中转服务器转发序列号XXX-YYY的消息到消息接收端的过程中,如果网络出现故障,中转服务器记录了XXX-YYY中间的某个值,但是消息接收端收到的消息对应的序列号和中转服务器发送给该消息接收端的消息对应的序列号可能不一致,存在一定的不确定性,此时,如果消息接收端发送的序列号小于该找到的数组块所记录的最大序列号,则以消息接收端记录的序列号为准进行消息续传,具体见步骤603,反之,如果消息接收端发送的序列号大于该找到的数组块所记录的最大序列号,则以中转服务器记录的序列号为准进行消息续传,具体见步骤604。
步骤603,将消息列表中分配了以下序列号的消息发送给该消息接收端:处于所述最大序列号与接收的序列号之间的序列号。
步骤604,识别该找到的数据块在数组列表中的地址,从索引列表中找到记录了该地址的索引块,识别该找到的索引块记录的消息标识,从消息列表中找到对应该消息标识的消息分配的序列号,选取最大的序列号,将消息列表中分配了以下序列号的消息发送给该消息接收端:处于该选取的最大序列号与接收的序列号之间的序列号。
至此,完成图6所示流程。
通过图6所示流程,能够保证消息接收端收到在异常时无法收到的消息,中转服务器实现了消息续传,以应对网络质量不好的情况。
以上对本发明提供的方法进行了描述,下面对本发明提供的装置进行描述。
参见图7,图7为本发明实施例提供的装置结构图。作为本发明的一个实施例,该装置应用于处于消息发送端和消息接收端之间的中转服务器,如图7所示,该装置可包括:
消息接收单元,用于接收消息,并按照序列号递增原则为该消息分配序列号,将该消息、该消息对应的消息标识、以及该消息被分配的序列号保存至消息列表,其中,任意两个消息被分配的序列号不同;
订阅请求接收单元,用于接收消息订阅请求,所述消息订阅请求携带了发送该消息订阅请求的消息接收端的标识和状态以及该消息接收端需要订阅的消息对应的消息标识;
第一处理单元,用于将所述消息订阅请求携带的消息标识、消息接收端的标识和状态存储至消息接收端列表中;
第二处理单元,用于从消息接收端列表中选取消息标识、且状态为正常的消息接收端的标识;
第三处理单元,用于从消息列表中找到与选取的消息标识对应的消息,依据选取的消息接收端的标识将该消息、以及该消息被分配的序列号一起发送至消息接收端,并将该序列号作为向该消息接收端发送的消息的序列号记录至消息接收端列表;
续传单元,用于接收消息接收端发送的序列号,依据接收的序列号和消息接收端列表记录的向该消息接收端的标识发送的消息的序列号续传对应的消息至该消息接收端。
优选地,所述消息列表包括:一级索引列表、二级索引列表和数据列表;所述一级索引列表中包含多个一级索引块,所述二级索引列表中包含多个二级索引块,所述数据列表中包含多个数据块;
所述消息接收单元将该消息、该消息对应的消息标识、以及该消息被分配的序列号保存至消息列表包括:
依据消息对应的消息标识识别一级索引列表中是否存在已记录了该消息标识的一级索引块,如果是,从二级索引列表的首个二级索引块开始顺次遍历二级索引列表,将在二级索引列表中最先遍历到的空闲二级索引块的地址记录至该存在的一级索引块,如果否,从二级索引列表的首个二级索引块开始顺次遍历二级索引列表,将在二级索引列表中最先遍历到的空闲二级索引块的地址、与该消息标识一起记录至一级索引列表中的空闲一级索引块;
从数据列表的首个数据块开始顺次遍历数据列表,将在数据列表中最先遍历到的空闲数据块的地址、以及该消息被分配的序列号记录至在二级索引列表中最先遍历到的空闲二级索引块;
在数据列表中最先遍历到的空闲数据块记录该消息。
优选地,所述消息接收单元在数据列表中最先遍历到的空闲数据块记录该消息包括:
比较该消息的大小与最先遍历到的空闲数据块的大小;
如果前者小于或等于后者,则在数据列表中最先遍历到的空闲数据块记录该消息;
如果前者大于后者,则确定记录该消息需要使用的数据块数量N,从所述最先遍历到的空闲数据块开始使用数据列表中N个空闲数据块一起记录该消息;其中,在使用N块数据块记录消息时,每个数据块的尾部需要记录下个数据块的地址。
优选地,所述第三处理单元从消息列表中找到与选取的消息标识对应的消息包括:
依据该选取的消息标识从一级索引列表中找到已记录了该消息标识的一级索引块,识别该找到的一级索引块记录的二级索引块地址;
针对识别出的每一二级索引块地址执行以下步骤:
从二级索引列表中找到该二级索引块地址记录的数据块地址,
如果数据列表中该数据块地址未记录其他数据块的地址,则将该数据块地址记录的内容作为与该选取的消息标识对应的消息;
如果数据列表中该数据块地址记录了其他数据块地址,则,
将该数据块地址作为首个数据块地址,将首个数据块地址记录的其他数据块地址作为当前数据块,识别当前数据块是否记录了其他数据块地址,
如果否,将数据列表中从首个数据块地址至当前数据块地址记录的内容组织在一起作为与该选取的消息标识对应的消息,
如果是,将当前数据块地址记录的其他数据块地址更新为当前数据块地址,返回识别当前数据块地址是否记录了其他数据块地址的操作。
优选地,消息接收端列表包括索引列表和数组列表;所述索引列表中包含多个索引块,所述数组列表中包含数组块;
所述订阅请求单元将消息订阅请求携带的消息标识、消息接收端的标识和状态存储至消息接收端列表中包括:
依据消息订阅请求携带的消息标识,识别索引列表中是否存在已记录了该消息标识的索引块,如果是,从数组列表的首个数组块开始顺次遍历数组列表,将在数组列表中最先遍历到的空闲数组块的地址记录至该存在的索引块,如果否,从数组列表的首个数组块开始顺次遍历数组列表,将在数组列表中最先遍历到的空闲数组块的地址与该消息标识一起记录至索引列表中的空闲索引块;
在数组列表中最先遍历到的空闲数组块内记录该消息请求携带的消息接收端的标识和状态。
优选地,如图7所示,所述装置进一步包括:
检测单元,用于检测已发送消息订阅请求的每一消息接收端的状态,当检测到消息接收端的状态与消息接收端列表记录的该消息接收端的状态不一致,用检测到的该消息接收端的状态更新消息接收端列表记录的该消息接收端的状态。
优选地,所述第一处理单元从消息接收端列表中选取消息标识、且状态为正常的消息接收端的标识包括:
识别索引列表中每一索引块记录的消息标识和数组块地址;
针对识别出的每一数组块地址,从数组列表中找到该数组块地址记录的消息接收端的状态,如果该状态为正常,则选取该数组块地址记录的消息接收端的标识。
优选地,所述第三处理单元将该序列号作为向消息接收端发送的消息的序列号记录至消息接收端列表包括:
在数组列表中找到记录了该消息接收端标识的数组块;
在找到的数组块内记录该序列号。
优选地,所述续传单元依据接收的序列号和消息接收端列表记录的向该消息接收端的标识发送的序列号续传对应的消息至该消息接收端包括:
从数组列表中找到记录了该消息接收端标识的数组块;
比较接收的序列号和该找到的数组块记录的最大序列号,
如果前者小于后者,将分配了处于所述最大序列号与接收的序列号之间的序列号的消息发送给该消息接收端。
如果前者大于后者,识别该找到的数据块在数组列表中的地址,从索引列表中找到记录了该地址的索引块,以及识别该找到的索引块记录的消息标识,从消息列表中找到对应该消息标识的消息分配的序列号,选取最大的序列号,将分配了处于该选取的最大序列号与接收的序列号之间的序列号的消息发送给该消息接收端。
至此,完成图7所示的装置描述。
由以上技术方案可以看出,本发明中,中转服务器仅向状态为正常的消息接收端发送消息,而针对状态为异常的消息接收端,本发明是不向其发送消息的,这能够避免中转服务器在消息传输过程中的丢包现象。至于状态为异常的消息接收端,其在恢复正常比如重启或者重连时,会将截至当前最新收到的消息所标记的序列号发送至中转服务器,以由中转服务器执行消息续传机制,实现了消息续传,保证消息接收端收到在异常时无法收到的消息,以应对网络质量不好的情况。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (19)
1.一种消息续传方法,其特征在于,该方法应用于中转服务器,包括:
接收消息,并按照序列号递增原则为该消息分配序列号,将该消息、该消息对应的消息标识、以及该消息被分配的序列号保存至消息列表,其中,任意两个消息被分配的序列号不同;
接收消息订阅请求,所述消息订阅请求携带了发送该消息订阅请求的消息接收端的标识和状态以及该消息接收端需要订阅的消息对应的消息标识;
将所述消息订阅请求携带的消息标识、消息接收端的标识和状态存储至消息接收端列表中;
从消息接收端列表中选取消息标识、且状态为正常的消息接收端的标识;
从消息列表中找到与选取的消息标识对应的消息,依据选取的消息接收端的标识将该消息、以及该消息被分配的序列号一起发送至消息接收端,并将该序列号作为向该消息接收端发送的消息的序列号记录至消息接收端列表;
接收消息接收端发送的序列号,依据接收的序列号和消息接收端列表记录的向该消息接收端的标识发送的消息的序列号续传对应的消息至该消息接收端;
其中,所述消息接收端列表包括索引列表和数组列表;所述索引列表中包含多个索引块,所述数组列表中包含数组块;
所述将消息订阅请求携带的消息标识、消息接收端的标识和状态存储至消息接收端列表中包括:
依据消息订阅请求携带的消息标识,识别所述索引列表中是否存在已记录了该消息标识的索引块,如果是,从所述数组列表的首个数组块开始顺次遍历所述数组列表,将在所述数组列表中最先遍历到的空闲数组块的地址记录至该存在的索引块,如果否,从所述数组列表的首个数组块开始顺次遍历所述数组列表,将在所述数组列表中最先遍历到的空闲数组块的地址与该消息标识一起记录至所述索引列表中的空闲索引块;
在所述数组列表中最先遍历到的空闲数组块内记录该消息请求携带的消息接收端的标识和状态。
2.根据权利要求1所述的方法,其特征在于,所述消息对应的消息标识为:
对所述消息的类型进行哈希运算得到的结果。
3.根据权利要求1所述的方法,其特征在于,所述消息列表包括:一级索引列表、二级索引列表和数据列表;所述一级索引列表中包含多个一级索引块,所述二级索引列表中包含多个二级索引块,所述数据列表中包含多个数据块;
所述将消息、消息对应的消息标识、以及消息被分配的序列号保存至所述消息列表包括:
依据所述消息对应的消息标识识别所述一级索引列表中是否存在已记录了该消息标识的一级索引块,如果是,从所述二级索引列表的首个二级索引块开始顺次遍历所述二级索引列表,将在所述二级索引列表中最先遍历到的空闲二级索引块的地址记录至该存在的一级索引块,如果否,从所述二级索引列表的首个二级索引块开始顺次遍历所述二级索引列表,将在所述二级索引列表中最先遍历到的空闲二级索引块的地址、与该消息标识一起记录至所述一级索引列表中的空闲一级索引块;
从所述数据列表的首个数据块开始顺次遍历所述数据列表,将在所述数据列表中最先遍历到的空闲数据块的地址、以及该消息被分配的序列号记录至在所述二级索引列表中最先遍历到的空闲二级索引块;
在所述数据列表中最先遍历到的空闲数据块记录该消息。
4.根据权利要求3所述的方法,其特征在于,在所述数据列表中最先遍历到的空闲数据块记录该消息包括:
比较该消息的大小与最先遍历到的空闲数据块的大小;
如果前者小于或等于后者,则在所述数据列表中最先遍历到的空闲数据块记录该消息;
如果前者大于后者,则确定记录该消息需要使用的数据块数量N,从所述最先遍历到的空闲数据块开始使用所述数据列表中N个空闲数据块一起记录该消息;其中,在使用N块数据块记录消息时,每个数据块的尾部需要记录下个数据块的地址。
5.根据权利要求4所述的方法,其特征在于,所述从消息列表中找到与选取的消息标识对应的消息包括:
依据该选取的消息标识从所述一级索引列表中找到已记录了该消息标识的一级索引块,识别该找到的一级索引块记录的二级索引块地址;
针对识别出的每一二级索引块地址执行以下步骤:
从所述二级索引列表中找到该二级索引块地址记录的数据块地址,
如果所述数据列表中该数据块地址未记录其他数据块的地址,则将该数据块地址记录的内容作为与该选取的消息标识对应的消息;
如果所述数据列表中该数据块地址记录了其他数据块地址,则,
将该数据块地址作为首个数据块地址,将首个数据块地址记录的其他数据块地址作为当前数据块,识别当前数据块是否记录了其他数据块地址,
如果否,将所述数据列表中从首个数据块地址至当前数据块地址记录的内容组织在一起作为与该选取的消息标识对应的消息,
如果是,将当前数据块地址记录的其他数据块地址更新为当前数据块地址,返回识别当前数据块地址是否记录了其他数据块地址的操作。
6.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
检测已发送消息订阅请求的每一消息接收端的状态;
当检测到消息接收端的状态与所述消息接收端列表记录的该消息接收端的状态不一致,用检测到的该消息接收端的状态更新所述消息接收端列表记录的该消息接收端的状态。
7.根据权利要求6所述的方法,其特征在于,从所述消息接收端列表中选取消息标识、且状态为正常的消息接收端的标识包括:
识别所述索引列表中每一索引块记录的消息标识和数组块地址;
针对识别出的每一数组块地址,从所述数组列表中找到该数组块地址记录的消息接收端的状态,如果该状态为正常,则选取该数组块地址记录的消息接收端的标识。
8.根据权利要求7所述的方法,其特征在于,所述将该序列号作为向消息接收端发送的消息的序列号记录至所述消息接收端列表包括:
在所述数组列表中找到记录了该消息接收端标识的数组块;
在找到的数组块内记录该序列号。
9.根据权利要求7所述的方法,其特征在于,所述依据接收的序列号和消息接收端列表记录的向该消息接收端的标识发送的序列号续传对应的消息至该消息接收端包括:
从所述数组列表中找到记录了该消息接收端标识的数组块;
比较接收的序列号和该找到的数组块记录的最大序列号,
如果前者小于后者,将消息列表中分配了以下序列号的消息发送给该消息接收端:处于所述最大序列号与接收的序列号之间的序列号。
10.根据权利要求9所述的方法,其特征在于,如果接收的序列号大于该找到的数组块记录的最大序列号,则该方法进一步包括:
识别该找到的数据块在数组列表中的地址,从所述索引列表中找到记录了该地址的索引块;
识别该找到的索引块记录的消息标识,从所述消息列表中找到对应该消息标识的消息分配的序列号,选取最大的序列号,将所述消息列表中分配了以下序列号的消息发送给该消息接收端:处于该选取的最大序列号与接收的序列号之间的序列号。
11.一种消息续传装置,其特征在于,该装置应用于处于消息发送端和消息接收端之间的中转服务器,包括:
消息接收单元,用于接收消息,并按照序列号递增原则为该消息分配序列号,将该消息、该消息对应的消息标识、以及该消息被分配的序列号保存至消息列表,其中,任意两个消息被分配的序列号不同;
订阅请求接收单元,用于接收消息订阅请求,所述消息订阅请求携带了发送该消息订阅请求的消息接收端的标识和状态以及该消息接收端需要订阅的消息对应的消息标识;
第一处理单元,用于将所述消息订阅请求携带的消息标识、消息接收端的标识和状态存储至消息接收端列表中;
第二处理单元,用于从消息接收端列表中选取消息标识、且状态为正常的消息接收端的标识;
第三处理单元,用于从消息列表中找到与选取的消息标识对应的消息,依据选取的消息接收端的标识将该消息、以及该消息被分配的序列号一起发送至消息接收端,并将该序列号作为向该消息接收端发送的消息的序列号记录至消息接收端列表;
续传单元,用于接收消息接收端发送的序列号,依据接收的序列号和消息接收端列表记录的向该消息接收端的标识发送的消息的序列号续传对应的消息至该消息接收端;
其中,所述消息接收端列表包括索引列表和数组列表;所述索引列表中包含多个索引块,所述数组列表中包含数组块;
所述订阅请求单元将消息订阅请求携带的消息标识、消息接收端的标识和状态存储至所述消息接收端列表中包括:
依据所述消息订阅请求携带的所述消息标识,识别所述索引列表中是否存在已记录了该消息标识的索引块,如果是,从所述数组列表的首个数组块开始顺次遍历所述数组列表,将在所述数组列表中最先遍历到的空闲数组块的地址记录至该存在的索引块,如果否,从所述数组列表的首个数组块开始顺次遍历数组列表,将在所述数组列表中最先遍历到的空闲数组块的地址与该消息标识一起记录至所述索引列表中的空闲索引块;
在数组列表中最先遍历到的空闲数组块内记录该消息请求携带的消息接收端的标识和状态。
12.根据权利要求11所述的装置,其特征在于,所述消息列表包括:一级索引列表、二级索引列表和数据列表;所述一级索引列表中包含多个一级索引块,所述二级索引列表中包含多个二级索引块,所述数据列表中包含多个数据块;
所述消息接收单元将该消息、该消息对应的消息标识、以及该消息被分配的序列号保存至所述消息列表包括:
依据所述消息对应的消息标识识别所述一级索引列表中是否存在已记录了该消息标识的一级索引块,如果是,从所述二级索引列表的首个二级索引块开始顺次遍历二级索引列表,将在所述二级索引列表中最先遍历到的空闲二级索引块的地址记录至该存在的一级索引块,如果否,从所述二级索引列表的首个二级索引块开始顺次遍历所述二级索引列表,将在所述二级索引列表中最先遍历到的空闲二级索引块的地址、与该消息标识一起记录至一级索引列表中的空闲一级索引块;
从所述数据列表的首个数据块开始顺次遍历所述数据列表,将在所述数据列表中最先遍历到的空闲数据块的地址、以及该消息被分配的序列号记录至在所述二级索引列表中最先遍历到的空闲二级索引块;
在所述数据列表中最先遍历到的空闲数据块记录该消息。
13.根据权利要求12所述的装置,其特征在于,所述消息接收单元在所述数据列表中最先遍历到的空闲数据块记录该消息包括:
比较该消息的大小与最先遍历到的空闲数据块的大小;
如果前者小于或等于后者,则在数据列表中最先遍历到的空闲数据块记录该消息;
如果前者大于后者,则确定记录该消息需要使用的数据块数量N,从所述最先遍历到的空闲数据块开始使用数据列表中N个空闲数据块一起记录该消息;其中,在使用N块数据块记录消息时,每个数据块的尾部需要记录下个数据块的地址。
14.根据权利要求13所述的装置,其特征在于,所述第三处理单元从消息列表中找到与选取的消息标识对应的消息包括:
依据该选取的消息标识从所述一级索引列表中找到已记录了该消息标识的一级索引块,识别该找到的一级索引块记录的二级索引块地址;
针对识别出的每一二级索引块地址执行以下步骤:
从所述二级索引列表中找到该二级索引块地址记录的数据块地址,
如果所述数据列表中该数据块地址未记录其他数据块的地址,则将该数据块地址记录的内容作为与该选取的消息标识对应的消息;
如果所述数据列表中该数据块地址记录了其他数据块地址,则,
将该数据块地址作为首个数据块地址,将首个数据块地址记录的其他数据块地址作为当前数据块,识别当前数据块是否记录了其他数据块地址,
如果否,将所述数据列表中从首个数据块地址至当前数据块地址记录的内容组织在一起作为与该选取的消息标识对应的消息,
如果是,将当前数据块地址记录的其他数据块地址更新为当前数据块地址,返回识别当前数据块地址是否记录了其他数据块地址的操作。
15.根据权利要求11所述的装置,其特征在于,所述装置进一步包括:
检测单元,用于检测已发送消息订阅请求的每一消息接收端的状态,当检测到消息接收端的状态与所述消息接收端列表记录的该消息接收端的状态不一致,用检测到的该消息接收端的状态更新所述消息接收端列表记录的该消息接收端的状态。
16.根据权利要求15所述的装置,其特征在于,所述第一处理单元从所述消息接收端列表中选取消息标识、且状态为正常的消息接收端的标识包括:
识别所述索引列表中每一索引块记录的消息标识和数组块地址;
针对识别出的每一数组块地址,从所述数组列表中找到该数组块地址记录的消息接收端的状态,如果该状态为正常,则选取该数组块地址记录的消息接收端的标识。
17.根据权利要求16所述的装置,其特征在于,所述第三处理单元将该序列号作为向消息接收端发送的消息的序列号记录至所述消息接收端列表包括:
在所述数组列表中找到记录了该消息接收端标识的数组块;
在找到的数组块内记录该序列号。
18.根据权利要求16所述的装置,其特征在于,所述续传单元依据接收的序列号和所述消息接收端列表记录的向该消息接收端的标识发送的序列号续传对应的消息至该消息接收端包括:
从所述数组列表中找到记录了该消息接收端标识的数组块;
比较接收的序列号和该找到的数组块记录的最大序列号,
如果前者小于后者,将分配了处于所述最大序列号与接收的序列号之间的序列号的消息发送给该消息接收端。
19.根据权利要求18所述的装置,其特征在于,所述续传单元进一步在接收的序列号大于该找到的数组块记录的最大序列号时,识别该找到的数据块在数组列表中的地址,从所述索引列表中找到记录了该地址的索引块,以及识别该找到的索引块记录的消息标识,从所述消息列表中找到对应该消息标识的消息分配的序列号,选取最大的序列号,将分配了处于该选取的最大序列号与接收的序列号之间的序列号的消息发送给该消息接收端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310610915.XA CN104683288B (zh) | 2013-11-26 | 2013-11-26 | 消息续传方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310610915.XA CN104683288B (zh) | 2013-11-26 | 2013-11-26 | 消息续传方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104683288A CN104683288A (zh) | 2015-06-03 |
CN104683288B true CN104683288B (zh) | 2018-09-28 |
Family
ID=53317899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310610915.XA Active CN104683288B (zh) | 2013-11-26 | 2013-11-26 | 消息续传方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104683288B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763607A (zh) * | 2016-02-05 | 2016-07-13 | 华为技术有限公司 | 一种订阅内容获取方法、设备及系统 |
CN107040455B (zh) * | 2017-05-27 | 2021-05-11 | 北京思特奇信息技术股份有限公司 | 一种基于redis的即时消息通讯方法和系统 |
CN109905453A (zh) * | 2017-12-09 | 2019-06-18 | 英业达科技有限公司 | 通过中继服务器即时推送信息的系统及其方法 |
CN108881378A (zh) * | 2018-05-02 | 2018-11-23 | 象翌微链科技发展有限公司 | 一种文件的传输方法、系统及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192219B1 (en) * | 1997-05-23 | 2001-02-20 | Nec Corporation | Message management in wireless selective call receiver |
CN1859618A (zh) * | 2006-02-23 | 2006-11-08 | 华为技术有限公司 | 多址消息的处理方法和能够发送多址消息的终端 |
CN102375862A (zh) * | 2010-08-26 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 大数据量消息管理方法和装置 |
CN103220206A (zh) * | 2012-01-19 | 2013-07-24 | 阿里巴巴集团控股有限公司 | 一种消息发送方法、装置和一种消息接收方法、装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7587455B2 (en) * | 2004-05-14 | 2009-09-08 | Mirapoint Software, Inc. | Method for mailbox migration |
-
2013
- 2013-11-26 CN CN201310610915.XA patent/CN104683288B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192219B1 (en) * | 1997-05-23 | 2001-02-20 | Nec Corporation | Message management in wireless selective call receiver |
CN1859618A (zh) * | 2006-02-23 | 2006-11-08 | 华为技术有限公司 | 多址消息的处理方法和能够发送多址消息的终端 |
CN102375862A (zh) * | 2010-08-26 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 大数据量消息管理方法和装置 |
CN103220206A (zh) * | 2012-01-19 | 2013-07-24 | 阿里巴巴集团控股有限公司 | 一种消息发送方法、装置和一种消息接收方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104683288A (zh) | 2015-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117275B (zh) | 基于数据分片的对账方法、装置、计算机设备及存储介质 | |
CN105338297B (zh) | 一种视频数据存储及回放系统、装置和方法 | |
CN108287660A (zh) | 数据存储方法和设备 | |
CN104683288B (zh) | 消息续传方法和装置 | |
CN103873451B (zh) | 一种数据同步的方法、设备和系统 | |
CN104092717B (zh) | 消息处理方法及系统、消息目的端设备 | |
CN105701096A (zh) | 索引生成方法、数据查询方法、装置及系统 | |
CN104144098B (zh) | 消息推送方法、系统及推送服务器设备 | |
CN105306585B (zh) | 一种多数据中心的数据同步方法 | |
WO2015188750A1 (en) | Method, apparatus and system for implementing location based services | |
KR20140009931A (ko) | 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법 | |
CN104717314B (zh) | 一种ip管理方法及系统、客户端、服务器 | |
CN104967873A (zh) | 流媒体直播调度方法、系统和调度服务器 | |
CN108093016A (zh) | 一种图片存储方法、装置及视频监控系统 | |
CN102394944B (zh) | 一种Web访问中的IP地址库修正方法和设备 | |
CN102333130A (zh) | 一种访问缓存服务器的方法、系统及缓存智能调度器 | |
CN110633168A (zh) | 一种分布式存储系统的数据备份方法和系统 | |
CN108897859A (zh) | 一种元数据检索方法、装置、设备及计算机可读存储介质 | |
CN110247985A (zh) | 一种资源下载方法、装置、电子设备及介质 | |
CN106959820A (zh) | 一种数据提取方法和系统 | |
CN103326925B (zh) | 一种消息推送方法及装置 | |
CN103209214A (zh) | 一种基于NoSQL的消息中间件的实现方法 | |
CN104348661B (zh) | 网络失效数据上传、接收方法和设备及记录方法和系统 | |
CN103595808B (zh) | 一种文件更新信息推送方法及装置 | |
CN108259348B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |