CN109766195A - 监测消息队列中数据丢失的方法及相关产品 - Google Patents
监测消息队列中数据丢失的方法及相关产品 Download PDFInfo
- Publication number
- CN109766195A CN109766195A CN201811527503.9A CN201811527503A CN109766195A CN 109766195 A CN109766195 A CN 109766195A CN 201811527503 A CN201811527503 A CN 201811527503A CN 109766195 A CN109766195 A CN 109766195A
- Authority
- CN
- China
- Prior art keywords
- data
- transmitting terminal
- message
- receiving end
- queuing server
- 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.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种监测消息队列中数据丢失的方法及相关产品,该方法包括:消息队列服务器获取发送端向消息队列发布的数据的第一数量,获取接收端从所述消息队列中消费的数据的第二数量;所述消息队列服务器检测所述第一数量与所述第二数量是否一致;如所述第一数量与所述第二数量不一致,所述消息队列服务器确定数据丢失,向所述发送端发送第一提示信息,向所述接收端发送第二提示信息,其中,所述第一提示信息用于提示所述发送端向所述消息队列重新发布数据,所述第二提示信息用于提示所述接收端从所述消息队列重新消费数据。本申请实施例有利于降低数据丢失的概率,提高用户体验。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种监测消息队列中数据丢失的方法及相关产品。
背景技术
目前,人们正处于信息高度集成的单位中,由于业务的需求,需要单位中的各个业务系统之间进行频繁的数据交互,一般采用两种方式进行数据的交互,第一种,点对点进行数据传输,即数据发送端需要为各个数据接收端传输数据时,分别与各个接收端进行点对点的对接,实现与各个数据接收端的数据传输,但是,点对点的方式中一旦数据发送端修改数据,就需要重新调整布局,数据传输效率慢;第二种,采用消息队列进行数据传输,即发送端将数据发送到消息队列中,然后由各个接收端从消息队列中消费各自所需的数据,但是,由于数据交流频繁,在传输过程容易丢失数据。
现有技术中,在采用消息队列传输数据时,数据易丢失,用户体验差。
发明内容
本申请实施例提供了一种监测消息队列中数据丢失的方法及相关产品,以期监测消息队列中的数据数量,解决传输过程中数据丢失的问题。
第一方面,本申请实施例提供一种监测消息队里中数据丢失的方法,所述方法包括:
消息队列服务器获取发送端向消息队列发布的数据的第一数量,获取接收端从所述消息队列中消费的数据的第二数量;
所述消息队列服务器检测所述第一数量与所述第二数量是否一致;
如所述第一数量与所述第二数量不一致,所述消息队列服务器确定数据丢失,向所述发送端发送第一提示信息,向所述接收端发送第二提示信息,其中,所述第一提示信息用于提示所述发送端向所述消息队列重新发布数据,所述第二提示信息用于提示所述接收端从所述消息队列重新消费数据。
第二方面,本申请实施例提供一种消息队列服务器,所述消息队列服务器包括:
消息队列服务器搭建消息队列,创建所述消息队列的用户名、密码、访问路径以及端口号;
所述消息队列服务器将所述用户名、密码、述访问路径以及端口号分别发送至发送端和接收端,以使所述发送端根据所述用户名、密码、访问路径以及端口号向所述消息队列发布数据,以使所述接收端根据所述用户名、密码、访问路径以及端口号从所述消息队列中消费数据。
第三方面,本申请实施例提供一种服务器,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如第一方面所述的方法中的步骤的指令。
第四方面,本申请实施例提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如第一方面所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机可操作来使计算机执行如第一方面所述的方法。
实施本申请实施例,具有如下有益效果:
可以看出,在本申请实施例中,消息队列服务器监控发送端发布数据的第一数量以及接收端消费数据的第二数量,基于该第一数量和第二数量判断数据传输过程是否丢失,如是,提示所述发送端和所述接收端重新进行数据的传输,从而实现基于监控数据的数量,降低数据传输过程,数据的丢失概率,提高了数据传输的完整性,提高用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本申请实施例提供的一种监测消息队列中数据丢失的网络架构的示意图;
图1B为本申请实施例提供的一种监测消息队列中数据丢失的方法的流程示意图;
图2为本申请实施例提供的另一种监测消息队列中数据丢失的方法的流程示意图;
图3为本申请实施例提供的另一种监测消息队列中数据丢失的方法的流程示意图;
图4是本申请实施例提供的一种服务器的结构示意图;
图5是本申请实施例提供的一种的监测消息队列中数据丢失的服务器的功能单元组成框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请中的发送端和接收端可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备MID(MobileInternet Devices,简称:MID)或穿戴式设备等,上述发送端和接收端仅是举例,而非穷举,包含但不限于上述发送端和接收端,为了描述的方便,下面实施例中将上述发送端和接收端称为用户设备UE(User equipment,简称:UE)。当然在实际应用中,上述用户设备也不限于上述变现形式,例如还可以包括:智能车载终端、计算机设备等等。其中,消息队列服务器可以包移动互联网设备、传输接收点(TRP,Transmission Reception Point)、基站(例如,宏站)、LTE eNB、5G NR NB接入点(Access Point,简称:AP)。需要说明的是,在本发明实施例中并不限定消息队列服务器的具体类型。
首先参阅图1A,图1A为本申请实施例提供的一种监测消息队列中数据丢失的网络架构的示意图,该网络架构包括:发送端100、消息队列服务器200以及接收端300,其中,该接收端300可以为一个,也可以为多个,本申请不做限定;
发送端100,用于向消息队列服务器200发布数据;
消息队列服务器200,用于搭建消息队列,接收发送端100发布的数据,统计发送端100发布的数据的第一数量,并将数据存储至该消息队列,接收接收端的数据消费请求,响应该数据消费请求,将该消息队列中存储的数据下发至接收端300,并统计接收端300消费数据的第二数量;以及用于检测所述第一数量与所述第二数量是否一致,如所述第一数量与所述第二数量不一致,所述消息队列服务器确定数据丢失,向所述发送端发送第一提示信息,向所述接收端发送第二提示信息,其中,所述第一提示信息用于提示所述发送端向所述消息队列重新发布数据,所述第二提示信息用于提示所述接收端从所述消息队列重新消费数据;
接收端300,用于向消息队列服务器200发送数据消费请求,以从消息队列服务器200中消费数据。
可以看出,在本申请实施例中,消息队列服务器200监控发送端发布数据的第一数量以及接收端消费数据的第二数量,基于该第一数量和第二数量判断数据传输过程是否丢失,如是,分别向发送端和接收发送第一提示信息和第二提示信息,以提示所述发送端和所述接收端重新进行数据的传输,从而实现基于监控数据的数量,确定数据的丢失行为,降低了数据的丢失概率,提高了数据传输的完整性和效率,提高用户体验。
参阅图1B,图1B为本申请实施例提供的一种监测消息队列中数据丢失的方法的流程示意图,该方法应用于消息队列服务器,该方法包括如步骤S101~S103中所示的内容:
步骤S101、消息队列服务器获取发送端向消息队列发布的数据的第一数量,获取接收端从所述消息队列中消费的数据的第二数量。
其中,消息队列MQ(Message Queue,简称MQ),是一种跨进程的通信机制,用于上下游传递消息,主要用于应用程序与应用程序之间的通信。
其中,所述消息队列可以为Rabbit MQ、Active MQ、RZero MQ以及Kafka中的任意一种,本申请不做唯一限定。
可选的,在执行步骤S101之前,所述消息队列服务器需先搭建消息队列服务,其具体包括:消息队列服务器搭建消息队列,创建所述消息队列的用户名、密码、访问路径以及端口号;所述消息队列服务器将所述用户名、密码、述访问路径以及端口号分别发送至发送端和接收端,以使所述发送端根据所述用户名、密码、访问路径以及端口号向所述消息队列发布数据,以使所述接收端根据所述用户名、密码、访问路径以及端口号从所述消息队列中消费数据。基于用户名、密码、访问路径以及端口号进行数据交互,保证了未在该消息队列服务器中订阅的接收端无法从该消息队列中消费数据,保证了数据交互的安全性。
可选的,所述消息队列服务器在接收所述发送端发布的数据之前,向所述发送端下发数据格式转化指令,所述数据格式转化指令用于指示所述发送端将需要发布的数据的数据格式转换为预设格式,以使所述发送端向所述消息队列服务器发布的数据的数据格式均为所述预设格式,所以所述消息队列服务器在进行数据的接收和发送时,由于数据格式的统一,不用再进行格式转换操作,传输效率高。其中,所述发送端将数据的数据格式转换为预设格式具体包括:在发送数据时,约定数据格式,并设置数据传输的过滤条件,在传输数据时,基于该过滤条件将数据转换为与该约定数据格式对应的数据格式。
其中,所述预设格式包括以下一种:JSON、XML、EXCEL和TXT。
举例来说,如预设格式JSON格式时,可以约定数据格式为:DepartmentInfo,设定过滤条件为:TypeName=DepartmentChange,按照所述约定数据格式和过滤条件将发送端发布的数据的数据格式格式转换为JSON格式。
进一步地,消息队列服务器获取发送端向消息队列发布的数据的第一数量具体包括:在该消息队列中加入confirm机制,即所述消息队列服务器每次成功接收发送端发布的数据后,调用消息队列的应用程序编程接口API(Application Programming Interface,简称:API)接口向发送端回复一个确认字符ACK数据,统计消息队列服务器在发送端在发布数据的时间段内回复的ACK数量,将该ACK数量标记为所述第一数量;其中,获取接收端从所述消息队列中消费的数据的第二数量具体包括:消息队列服务器将接收到的消息数据存储在消息队列中的磁盘中,并将数据的数据状态标记为待发送状态,在接收到数据接收方消费数据请求后,从所述消息队列中按照预设顺序从磁盘中依次读取该待发送状态的数据,将读取到的数据的数据状态标记为发送中,统计被标记为发送中的数据的数量,将该数量标记为所述第二数量;或者,在接收端中加入confirm机制,当所述接收端成功消费数据时,向该消息队列服务器反馈一个ACK数据,统计该反馈的ACK数量确定该第二数量。
其中,从所述消息队列中按照预设顺序从磁盘中依次读取该待发送状态的数据具体包括:按照先入先出FIFO、后入先出LIFO或者数据的内存从到小的顺序依次读取该待发送状态的数据。
步骤S102、所述消息队列服务器检测所述第一数量与所述第二数量是否一致。
其中,所述消息队列检测所述第一数量与所述第二数量是否一致,具体包括:检测所述第一数量与所述第二数量是否相等或者检测所述第一数量与所述第二数量的差值是否在预先设定的范围内。
步骤S103、如所述第一数量与所述第二数量不一致,所述消息队列服务器确定数据丢失,向所述发送端发送第一提示信息,向所述接收端发送第二提示信息,其中,所述第一提示信息用于提示所述发送端向所述消息队列重新发布数据,所述第二提示信息用于提示所述接收端从所述消息队列重新消费数据。
可选的,由于数据传输过程中的数据丢失是无法知晓在哪个过程丢失了,例如,目前接收端成功消费数据后,向消息队列回复一个确认字符ACK,以向消息队列确认接收到数据,但是,在某些情况下当接收端把数据消费一半时,突然重启或者断电,此时也默认消费成功,也会向消息队列回复ACK,但是此时接收端并未获得完整的数据,由于消息队列接收到了ACK,会将该数据从消息队列中删除,所以为确保接收端消费到完整的数据,当所述第一数量与所述第二数量不一致时,所述消息队列服务器删除已被消费过的数据,并提示发送端向该消息队列重新发布该已被消费过的数据以及接收端从该消息队列中重新消费数据,从而得到完整的数据。
可以看出,在本申请实施例中消息队列服务器监控发送端发布数据的第一数量以及接收端消费数据的第二数量,基于该第一数量和第二数量判断数据传输过程是否丢失,如是,提示所述发送端和所述接收端重新进行数据的传输,从而实现基于监控数据的数量,降低数据传输过程数据的丢失概率,,因此对数据监控的过程简单,且提高了数据传输的完整性,提高用户体验;而且,在发送端向消息队列服务器发布数据时,先将数据格式统一为预设格式,因此,消息队列服务器接收到的数据的数据格式统一,无需进行数据格式的转换,从而提高了数据传输的效率。
在一可能的示例中,所述方法还包括:
如所述第一数量与所述第二数据一致,且在接收到所述接收端反馈的确认字符ACK时,所述消息队列服务器删除所述消息队列所述接收端已消费的数据,向所述发送端发送第三提示信息,所述第三提示信息用于提示所述发送端向所述消息队列发布新数据。本示例中,第一数量与第二数据一致,确定数据未丢失,接收到ACK时,确定接收端已成功消费数据,故删除所述消息队列中所述接收端已消费的数据,以释放所述消息队列的内存,从而提高消息传递的效率。
参阅图2,图2为本申请实施例提供的另一种监测消息队列中数据丢失的方法的流程示意图,该方法应用于消息队列服务器,该方法包括如步骤S201~S207中所示的内容:
步骤S201、消息队列服务器搭建消息队列。
步骤S202、所述消息队列服务器向发送端下发数据格式转化指令,所述数据格式转化指令用于指示所述发送端将需要发布的数据的数据格式转换为预设格式。
步骤S203、所述消息队列服务器接收所述发送端发布的数据,对所述数据进行关键词识别,获取该数据中的多个关键词,得到第一关键词组,将所述数据与所述第一关键词组对应存储至所述消息队列。
步骤S204、所述消息队列服务器获取发送端向消息队列发布的数据的第一数量,获取接收端从所述消息队列中消费的数据的第二数量。
步骤S205、如确定所述第一数量与所述第二数量不一致,所述消息队列服务器对接收端消费的数据进行关键词识别,获取该数据中的多个关键词,得到第二关键词组。
步骤S206、所述消息队列服务器从所述消息队列中提取所述第一关键词组,确定所述第一关键词组与所述第二关键词组的匹配度。
可选的,确定所述第二关键词组中的关键词在所述第一关键词组中的占比,将所述占比标记为所述第一关键词组与所述第二关键词组的匹配度。
步骤S207、如所述匹配度小于第一阈值,所述消息队列服务器确定数据丢失,提示所述接收端和消费端重新进行数据的传输。
进一步地,如所述匹配度大于或者小于所述阈值时,所述消息队列服务器确定数据未丢失,在接收到所述接收端反馈的确认字符ACK时,所述消息队列服务器删除所述消息队列中所述接收端已消费的数据,向所述发送端发送第三提示信息,所述第三提示信息用于提示所述发送端向所述消息队列发布新数据。
可以看出,对于数据丢失场景,可能存在丢失一部分非重要的数据的情况,如果此时重新进行数据的发布和消费,则会影响整个数据传输的效率,在本申请实施例中,对消息队列中的数据进行关键词识别,在传输数据的过程如发布的数据的数量与消费的数据的数量不一致时,则对关键词组进行匹配,得到匹配度,当匹配度小于阈值时,确定数据丢失,即确定在数据传输过程中丢失了关键数据,所以此时不能忽略数据丢失的行为,需要重新进行数据的传输,当匹配度大于阈值时,确定丢失了部分不重要的数据,为了提高消息传输的效率,可忽略此次数据丢失行为,提高消息的传输速度,对数据丢失的监控更具有针对性,提高了用户体验。
参阅图3,图3为本申请实施例提供的另一种监测消息队列中数据丢失的方法的流程示意图,该方法应用于消息队列服务器,该方法包括如步骤S301~S307中所示的内容:
步骤S301、消息队列服务器搭建消息队列。
步骤S302、所述消息队列服务器向发送端下发数据格式转化指令,所述数据格式转化指令用于指示所述发送端将需要发布的数据的数据格式转换为预设格式。
步骤S303、所述消息队列服务器接收所述发送端发布的数据,对所述数据添加时间戳,并将所述数据与所述数据的时间戳对应存储至所述消息队列,所述时间戳用于记录所述消息队列服务器实时存储所述数据的时刻。
其中,所述时间戳用于实时记录所述消息队列服务器存储所述数据的时刻,举例来说,如第一次存储所述数据的时刻为T1,所以时间戳中记录的时刻为T1,但是如在传输的过程中,该数据被恶意篡改,在篡改后则需重新保存篡改的后数据,则该消息队列服务器会第二次存储数据,如第二次存储的时刻为T2(T2>T1),则将该时间戳中记录的时刻修改为T2,故通过时间戳,可以判断出该数据在传输过程中是否被恶意篡改,保证了数据传输的安全性。
步骤S304、所述消息队列服务器获取发送端向消息队列发布的数据的第一数量,获取接收端从所述消息队列中消费的数据的第二数量。
步骤S305、如确定所述第一数量与所述第二数量不一致,所述消息队列服务器确定数据丢失,向所述发送端发送第一提示信息,向所述接收端发送第二提示信息,所述第一提示信息用于提示所述发送端向所述消息队列重新发布数据,所述第二提示信息用于提示所述接收端从所述消息队列重新消费数据。
步骤S306、如确定所述第一数量与所述第二数量一致,所述消息队列服务器确定数据未丢失,解析所述数据的时间戳,获取所述消息队列服务器存储所述数据的时刻。
步骤S307、所述消息队列服务器获取所述发送端向所述消息队列发布所述数据的时刻,如所述发送端向所述消息队列发布所述数据的时刻与所述消息队列服务器存储所述数据的时刻的差值大于第二阈值,确定所述数据在传输过程中被篡改,提示所述发送端和所述接收端采用预设加密算法进行数据的传输。
可选的,提示所述发送端和所述接收端采用预设加密算法进行数据的传输具体包括:所述消息队列服务器提示所述发送端采用预设加密算法对数据进行加密;所述消息队列接收来自所述发送端发布的目标数据,所述目标数据是由所述接收端执行预设操作得到的,所述预设操作包括以下操作:所述发送端采用预设加密算法对数据进行加密,得到所述目标数据;所述消队列服务器接收来自所述接收端的数据消费请求,响应所述数据消费请求,将所述目标数据发送至所述接收端,以使所述接收端解密所述目标数据,得到所述目标数据中的数据内容;所述预设加密算法包括数据加密算法DES、对称加密算法AES或非对称加密算法RSA中的一种。
可以看出,在本申请实施例中,消息队列服务器搭建消息队列,并向发送端发送数据转化指令,以确保发送端发送发布到消息队列中的数据均为预设数据格式,所以消息队列服务器接收到的数据的数据格式统一,无需进行数据格式的转换,从而提高了数据传输的效率;而且,消息队列服务器在接收到数据后,在存储数据时对该数据添加时间戳,以实时记录该消息队列存储该数据的时刻,如确定数据未丢失时,解析该时间戳,获取存储该数据的时刻,并获取发送端向该消息队列发布数据的时刻,如两者时刻的差值大于阈值,确定该数据在传输过程中被篡改,所以提示采用预设加密算法传输数据,从而提高了数据传输的安全度,提高用户体验。
与上述图1、图2、图3所示的实施例一致的,请参阅图4,图4为本申请实施例提供的一种服务器400的结构示意图,如图4所示,服务器400包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序不同于上述一个或多个应用程序,且上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
获取发送端向消息队列发布的数据的第一数量,获取接收端从所述消息队列中消费的数据的第二数量;
检测所述第一数量与所述第二数量是否一致;
如所述第一数量与所述第二数量不一致,确定数据丢失,向所述发送端发送第一提示信息,向所述接收端发送第二提示信息,其中,所述第一提示信息用于提示所述发送端向所述消息队列重新发布数据,所述第二提示信息用于提示所述接收端从所述消息队列重新消费数据。
在一可能的示例中,在获取发送端向消息队列发布的数据的第一数量之前,上述程序还用于执行以下步骤的指令:
搭建消息队列,创建所述消息队列的用户名、密码、访问路径以及端口号;
将所述用户名、密码、访问路径以及端口号分别发送至发送端和接收端,以使所述发送端根据所述用户名、密码、访问路径以及端口号向所述消息队列发布数据,以使所述接收端根据所述用户名、密码、访问路径以及端口号从所述消息队列中消费数据。
在一可能的示例中,在获取发送端向消息队列发布的数据的第一数量之前,上述程序还用于执行以下步骤的指令:
向所述发送端下发数据格式转化指令,所述数据格式转化指令用于指示所述发送端将需要发布的数据的数据格式转换为预设格式;
接收所述发送端发布的数据,并存储至所述消息队列。
在一可能的示例中,在接收所述发送端发布的数据,并存储至所述消息队列方面,上述程序具体用于执行以下步骤的指令:接收所述发送端发布的数据,对该数据进行关键词识别,获取该数据中的多个关键词,得到第一关键词组,将所述数据与所述第一关键词组对应存储至所述消息队列;在如所述第一数量与所述第二数量不一致,所述消息队列服务器确定数据丢失方面,上述程序具体用于执行以下步骤的指令:如所述第一数量与所述第二数量不一致,对接收端消费的数据进行关键词识别,获取该数据中的多个关键词,得到第二关键词组;从所述消息队列中提取所述第一关键词组,确定所述第一关键词组与所述第二关键词组的匹配度,如所述匹配度小于第一阈值,确定数据丢失。
在一可能的示例中,在接收所述发送端发布的数据,并存储至所述消息队列方面,上述程序具体用于执行以下步骤的指令:所述消息队列服务器接收所述发送端发布的数据,对所述数据添加时间戳,并将所述数据与所述数据的时间戳对应存储至所述消息队列,所述时间戳用于记录所述消息队列服务器存储所述数据的时刻;上述程序还用于执行以下步骤的指令:如所述第一数量与所述第二数量一致,确定数据未丢失,解析所述数据的时间戳,获取消息队列服务器存储所述数据的时刻,获取所述发送端向所述消息队列发布所述数据的时刻,如所述发送端向所述消息队列发布所述数据的时刻与所述消息队列服务器存储所述数据的时刻的差值大于第二阈值,确定所述数据在传输过程中被篡改,提示所述发送端和所述接收端采用预设加密算法进行数据的传输。
在一可能的示例中,在提示所述发送端和所述接收端采用预设的加密算法进行数据的传输方面,上述程序具体用于执行以下步骤的指令:提示所述发送端采用预设加密算法对数据进行加密;接收来自所述发送端发布的目标数据,所述目标数据是由所述接收端执行预设操作得到的,所述预设操作包括以下操作:所述发送端采用预设加密算法对数据进行加密,得到所述目标数据;接收来自所述接收端的数据消费请求,响应所述数据消费请求,将所述目标数据发送至所述接收端,以使所述接收端解密所述目标数据,得到所述目标数据中的数据内容;所述预设加密算法包括数据加密算法DES、对称加密算法AES或非对称加密算法RSA中的一种。
在一可能的示例中,上述程序还用于执行以下步骤的指令:如所述第一数量与所述第二数量一致,在接收到所述接收端反馈的确认字符ACK时,删除所述消息队列中所述接收端已消费的数据,向所述发送端发送第三提示信息,所述第三提示信息用于提示所述发送端向所述消息队列发布新数据。
参阅图5,图5示出了上述实施例中所涉及的监测消息队列中数据丢失的服务器500的一种可能的功能单元组成框图,服务器500包括:获取单元510、检测单元520、提示单元530,其中;
获取单元510,用于获取发送端向消息队列发布的数据的第一数量,获取接收端从所述消息队列中消费的数据的第二数量;
检测单元520,用于检测所述第一数量与所述第二数量是否一致;
提示单元530,用于如所述第一数量与所述第二数量不一致,确定数据丢失,向所述发送端发送第一提示信息,向所述接收端发送第二提示信息,其中,所述第一提示信息用于提示所述发送端向所述消息队列重新发布数据,所述第二提示信息用于提示所述接收端从所述消息队列重新消费数据。
在一可能的示例中,服务器500还包括:创建单元540;
创建单元540,用于服务器搭建消息队列,创建所述消息队列的用户名、密码、访问路径以及端口号;以及提示单元530,用于将所述用户名、密码、访问路径以及端口号分别发送至发送端和接收端,以使所述发送端根据所述用户名、密码、访问路径以及端口号向所述消息队列发布数据,以使所述接收端根据所述用户名、密码、访问路径以及端口号从所述消息队列中消费数据。
在一可能的示例中,服务器500还包括:接收单元550;
在获取发送端向消息队列发布的数据的第一数量之前,提示单元530,还用于:向所述发送端下发数据格式转化指令,所述数据格式转化指令用于指示所述发送端将需要发布的数据的数据格式转换为预设格式;接收单元550,用于接收所述发送端发布的数据,并存储至所述消息队列。
在一可能的示例中,在接收所述发送端发布的数据,并存储至所述消息队列时,接收单元550,具体用于:接收所述发送端发布的数据,对该数据进行关键词识别,获取该数据中的多个关键词,得到第一关键词组,将所述数据与所述第一关键词组对应存储至所述消息队列;在如所述第一数量与所述第二数量不一致,确定数据丢失时,提示单元530,具体用于:如所述第一数量与所述第二数量不一致,对接收端消费的数据进行关键词识别,获取该数据中的多个关键词,得到第二关键词组;从所述消息队列中提取所述第一关键词组,确定所述第一关键词组与所述第二关键词组的匹配度,如所述匹配度小于第一阈值,确定数据丢失。
在一可能的示例中,在接收所述发送端发布的数据,并存储至所述消息队列时,接收单元550,具体用于:收所述发送端发布的数据,对所述数据添加时间戳,并将所述数据与所述数据的时间戳对应存储至所述消息队列,所述时间戳用于记录所述消息队列服务器存储所述数据的时刻;提示单元530,还用于:如所述第一数量与所述第二数量一致,确定数据未丢失,解析所述数据的时间戳,获取所述消息队列服务器存储所述数据的时刻,获取所述发送端向所述消息队列发布所述数据的时刻,如所述发送端向所述消息队列发布所述数据的时刻与所述消息队列服务器存储所述数据的时刻的差值大于第二阈值,确定所述数据在传输过程中被篡改,提示所述发送端和所述接收端采用预设加密算法进行数据的传输。
在一可能的示例中,在提示所述发送端和所述接收端采用预设的加密算法进行数据的传输时,提示单元530,具体用于:所述消息队列服务器提示所述发送端采用预设加密算法对数据进行加密;接收来自所述发送端发布的目标数据,所述目标数据是由所述接收端执行预设操作得到的,所述预设操作包括以下操作:所述发送端采用预设加密算法对数据进行加密,得到所述目标数据;接收来自所述接收端的数据消费请求,响应所述数据消费请求,将所述目标数据发送至所述接收端,以使所述接收端解密所述目标数据,得到所述目标数据中的数据内容;所述预设加密算法包括数据加密算法DES、对称加密算法AES或非对称加密算法RSA中的一种。
在一可能的示例中,提示单元530,还用于:如所述第一数量与所述第二数量一致,在接收到所述接收端反馈的确认字符ACK时,删除所述消息队列中所述接收端已消费的数据,向所述发送端发送第三提示信息,所述第三提示信息用于提示所述发送端向所述消息队列发布新数据。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种监测消息队列中数据丢失的方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种监测消息队列中数据丢失的方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种监测消息队列中数据丢失的方法,其特征在于,所述方法包括:
消息队列服务器获取发送端向消息队列发布的数据的第一数量,获取接收端从所述消息队列中消费的数据的第二数量;
所述消息队列服务器检测所述第一数量与所述第二数量是否一致;
如所述第一数量与所述第二数量不一致,所述消息队列服务器确定数据丢失,向所述发送端发送第一提示信息,向所述接收端发送第二提示信息,其中,所述第一提示信息用于提示所述发送端向所述消息队列重新发布数据,所述第二提示信息用于提示所述接收端从所述消息队列重新消费数据。
2.根据权利要求1所述的方法,其特征在于,所述在消息队列服务器获取发送端向消息队列发布的数据的第一数量之前,所述方法还包括:
消息队列服务器搭建消息队列,创建所述消息队列的用户名、密码、访问路径以及端口号;
所述消息队列服务器将所述用户名、密码、访问路径以及端口号分别发送至发送端和接收端,以使所述发送端根据所述用户名、密码、访问路径以及端口号向所述消息队列发布数据,以使所述接收端根据所述用户名、密码、访问路径以及端口号从所述消息队列中消费数据。
3.根据权利要求2所述的方法,其特征在于,所述在消息队列服务器获取发送端向消息队列发布的数据的第一数量之前,所述方法还包括:
所述消息队列服务器向所述发送端下发数据格式转化指令,所述数据格式转化指令用于指示所述发送端将需要发布的数据的数据格式转换为预设格式;
所述消息队列服务器接收所述发送端发布的数据,并存储至所述消息队列。
4.根据权利要求3所述的方法,其特征在于,所述消息队列服务器接收所述发送端发布的数据,并存储至所述消息队列具体包括:
所述消息队列服务器接收所述发送端发布的数据,对该数据进行关键词识别,获取该数据中的多个关键词,得到第一关键词组,将所述数据与所述第一关键词组对应存储至所述消息队列;
如所述第一数量与所述第二数量不一致,所述消息队列服务器确定数据丢失具体包括:
如所述第一数量与所述第二数量不一致,所述消息队列服务器对接收端消费的数据进行关键词识别,获取该数据中的多个关键词,得到第二关键词组;
所述消息队列服务器从所述消息队列中提取所述第一关键词组,确定所述第一关键词组与所述第二关键词组的匹配度,如所述匹配度小于第一阈值,确定数据丢失。
5.根据权利要求3所述的方法,其特征在于,所述消息队列服务器接收所述发送端发布的数据,并存储至所述消息队列具体包括:
所述消息队列服务器接收所述发送端发布的数据,对所述数据添加时间戳,并将所述数据与所述数据的时间戳对应存储至所述消息队列,所述时间戳用于记录所述消息队列服务器存储所述数据的时刻;
所述方法还包括:
如所述第一数量与所述第二数量一致,所述消息队列服务器确定数据未丢失,解析所述数据的时间戳,获取所述消息队列服务器存储所述数据的时刻,获取所述发送端向所述消息队列发布所述数据的时刻,如所述发送端向所述消息队列发布所述数据的时刻与所述消息队列服务器存储所述数据的时刻的差值大于第二阈值,确定所述数据在传输过程中被篡改,提示所述发送端和所述接收端采用预设加密算法进行数据的传输。
6.根据权利要求5所述的方法,其特征在于,所述提示所述发送端和所述接收端采用预设的加密算法进行数据的传输具体包括:
所述消息队列服务器提示所述发送端采用预设加密算法对数据进行加密;
所述消息队列服务器接收来自所述发送端发布的目标数据,所述目标数据是由所述接收端执行预设操作得到的,所述预设操作包括以下操作:所述发送端采用预设加密算法对数据进行加密,得到所述目标数据;
所述消队列服务器接收来自所述接收端的数据消费请求,响应所述数据消费请求,将所述目标数据发送至所述接收端,以使所述接收端解密所述目标数据,得到所述目标数据中的数据内容;
所述预设加密算法包括数据加密算法DES、对称加密算法AES或非对称加密算法RSA中的一种。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如所述第一数量与所述第二数量一致,在接收到所述接收端反馈的确认字符ACK时,所述消息队列服务器删除所述消息队列中所述接收端已消费的数据,向所述发送端发送第三提示信息,所述第三提示信息用于提示所述发送端向所述消息队列发布新数据。
8.一种消息队列服务器,其特征在于,所述消息队列服务器包括:
获取单元,用于获取发送端向消息队列发布的数据的第一数量,获取接收端从所述消息队列中消费的数据的第二数量;
检测单元,用于检测所述第一数量与所述第二数量是否一致;
提示单元,用于如所述第一数量与所述第二数量不一致,确定数据丢失,向所述发送端发送第一提示信息,向所述接收端发送第二提示信息,其中,所述第一提示信息用于提示所述发送端向所述消息队列重新发布数据,所述第二提示信息用于提示所述接收端从所述消息队列重新消费数据。
9.一种服务器,其特征在于,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行权利要求1-7任一项方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,其用于存储计算机程序,其中,所述计算机程序被处理器执行,以实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811527503.9A CN109766195A (zh) | 2018-12-13 | 2018-12-13 | 监测消息队列中数据丢失的方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811527503.9A CN109766195A (zh) | 2018-12-13 | 2018-12-13 | 监测消息队列中数据丢失的方法及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109766195A true CN109766195A (zh) | 2019-05-17 |
Family
ID=66451895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811527503.9A Pending CN109766195A (zh) | 2018-12-13 | 2018-12-13 | 监测消息队列中数据丢失的方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766195A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413424A (zh) * | 2019-07-24 | 2019-11-05 | 深圳乐信软件技术有限公司 | 可配置的第三方消息回调方法、装置、服务器和存储介质 |
CN110413425A (zh) * | 2019-07-24 | 2019-11-05 | 深圳乐信软件技术有限公司 | 第三方消息回调方法、装置、服务器和存储介质 |
CN111190747A (zh) * | 2019-12-20 | 2020-05-22 | 北京金山云网络技术有限公司 | 用于消息队列的消息丢失检测方法和装置 |
CN111262706A (zh) * | 2020-01-15 | 2020-06-09 | 杭州涂鸦信息技术有限公司 | 一种数据的传输方法、服务器以及存储装置 |
CN111541555A (zh) * | 2020-03-24 | 2020-08-14 | 中国平安人寿保险股份有限公司 | 群聊优化方法及相关产品 |
CN111723070A (zh) * | 2020-06-18 | 2020-09-29 | 中国银行股份有限公司 | 一种检测数据丢失的方法及系统 |
CN111818005A (zh) * | 2019-12-26 | 2020-10-23 | 厦门雅基软件有限公司 | 数据包处理方法、装置、电子设备及可读存储介质 |
CN113177178A (zh) * | 2021-04-30 | 2021-07-27 | 北京深演智能科技股份有限公司 | 消息处理方法、装置、非易失性存储介质及处理器 |
CN114218599A (zh) * | 2022-02-22 | 2022-03-22 | 飞狐信息技术(天津)有限公司 | 一种业务数据处理方法及装置、存储介质及电子设备 |
CN115442272A (zh) * | 2022-08-15 | 2022-12-06 | 中国银联股份有限公司 | 一种检测丢失数据的方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753817A (zh) * | 2013-12-25 | 2015-07-01 | 中国移动通信集团公司 | 一种云计算消息队列服务本地模拟方法和系统 |
US20160099902A1 (en) * | 2014-10-02 | 2016-04-07 | International Business Machines Corporation | Processing messages for retrieval from a message queuing system |
CN107070782A (zh) * | 2017-05-02 | 2017-08-18 | 山东浪潮通软信息科技有限公司 | 一种基于消息队列可扩展的接口集成方法、服务器及系统 |
-
2018
- 2018-12-13 CN CN201811527503.9A patent/CN109766195A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753817A (zh) * | 2013-12-25 | 2015-07-01 | 中国移动通信集团公司 | 一种云计算消息队列服务本地模拟方法和系统 |
US20160099902A1 (en) * | 2014-10-02 | 2016-04-07 | International Business Machines Corporation | Processing messages for retrieval from a message queuing system |
CN107070782A (zh) * | 2017-05-02 | 2017-08-18 | 山东浪潮通软信息科技有限公司 | 一种基于消息队列可扩展的接口集成方法、服务器及系统 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413425A (zh) * | 2019-07-24 | 2019-11-05 | 深圳乐信软件技术有限公司 | 第三方消息回调方法、装置、服务器和存储介质 |
CN110413424A (zh) * | 2019-07-24 | 2019-11-05 | 深圳乐信软件技术有限公司 | 可配置的第三方消息回调方法、装置、服务器和存储介质 |
CN110413424B (zh) * | 2019-07-24 | 2021-12-10 | 深圳乐信软件技术有限公司 | 可配置的第三方消息回调方法、装置、服务器和存储介质 |
CN111190747A (zh) * | 2019-12-20 | 2020-05-22 | 北京金山云网络技术有限公司 | 用于消息队列的消息丢失检测方法和装置 |
CN111818005A (zh) * | 2019-12-26 | 2020-10-23 | 厦门雅基软件有限公司 | 数据包处理方法、装置、电子设备及可读存储介质 |
CN111262706A (zh) * | 2020-01-15 | 2020-06-09 | 杭州涂鸦信息技术有限公司 | 一种数据的传输方法、服务器以及存储装置 |
CN111262706B (zh) * | 2020-01-15 | 2023-05-16 | 杭州涂鸦信息技术有限公司 | 一种数据的传输方法、服务器以及存储装置 |
CN111541555A (zh) * | 2020-03-24 | 2020-08-14 | 中国平安人寿保险股份有限公司 | 群聊优化方法及相关产品 |
CN111723070A (zh) * | 2020-06-18 | 2020-09-29 | 中国银行股份有限公司 | 一种检测数据丢失的方法及系统 |
CN113177178A (zh) * | 2021-04-30 | 2021-07-27 | 北京深演智能科技股份有限公司 | 消息处理方法、装置、非易失性存储介质及处理器 |
CN114218599A (zh) * | 2022-02-22 | 2022-03-22 | 飞狐信息技术(天津)有限公司 | 一种业务数据处理方法及装置、存储介质及电子设备 |
CN114218599B (zh) * | 2022-02-22 | 2022-05-27 | 飞狐信息技术(天津)有限公司 | 一种业务数据处理方法及装置、存储介质及电子设备 |
CN115442272A (zh) * | 2022-08-15 | 2022-12-06 | 中国银联股份有限公司 | 一种检测丢失数据的方法、装置、设备及存储介质 |
CN115442272B (zh) * | 2022-08-15 | 2024-05-14 | 中国银联股份有限公司 | 一种检测丢失数据的方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109766195A (zh) | 监测消息队列中数据丢失的方法及相关产品 | |
US8619986B2 (en) | Systems and methods for secure communication using a communication encryption bios based upon a message specific identifier | |
CN103095457A (zh) | 一种应用程序的登录、验证方法 | |
CN101316424A (zh) | 一种信息传输方法、系统及装置 | |
CN103636166A (zh) | 与请求-答复消息排队环境关联的动态数据保护策略 | |
CN113765713A (zh) | 一种基于物联网设备采集的数据交互方法 | |
CN102821084A (zh) | 开放平台标识方法、开放平台及系统 | |
CN108347350B (zh) | 一种通信方法及装置 | |
CN104869136A (zh) | 一种互联网广告监测信息高并发安全传输的方法 | |
US20220272511A1 (en) | Subscription data management method and apparatus | |
CN112448969A (zh) | 链路追踪方法、装置、系统、设备及可读存储介质 | |
CN110505066A (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN112866998A (zh) | 基于可信计算的5g切片配置数据安全保护方法 | |
US8774410B1 (en) | Secret sharing in cryptographic devices via controlled release of plaintext information | |
CN107079025B (zh) | 用于联网请求匿名化的设备、方法及计算机可读介质 | |
CN111934854A (zh) | 数据确定方法和装置、存储介质及电子装置 | |
CN110278077B (zh) | 一种用于获取电能表数据信息的方法、装置、设备及存储介质 | |
CN107249192A (zh) | 一种共享网络切片的状态监控方法及装置 | |
CN110048865A (zh) | 一种总线数据传输方法、装置、电子设备及存储介质 | |
CN108600255A (zh) | Mock服务管理方法、装置、计算机设备以及存储介质 | |
CN110324426B (zh) | 一种数据获取方法、装置和系统 | |
CN106992861B (zh) | 一种带有epc标签的rfid密钥无线生成方法及系统 | |
CN113422754A (zh) | 数据处理方法和装置、电子设备及计算机可读存储介质 | |
CN110519232A (zh) | 基于Android OS二维对称加密算法的文件远距离加密传输系统 | |
CN111030804A (zh) | 一种故障信息的传输方法、装置、系统、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |