CN114817272A - 消息处理方法、装置、电子设备及存储介质 - Google Patents
消息处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114817272A CN114817272A CN202210758692.0A CN202210758692A CN114817272A CN 114817272 A CN114817272 A CN 114817272A CN 202210758692 A CN202210758692 A CN 202210758692A CN 114817272 A CN114817272 A CN 114817272A
- Authority
- CN
- China
- Prior art keywords
- message
- transmission
- target
- messages
- hash database
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及通信领域,尤其涉及一种消息处理方法、装置、电子设备及存储介质。本公开首先接收传输消息;然后在所述传输消息为非完整消息的情况下,确定哈希数据库中是否存在目标消息;最后在所述哈希数据库中不存在所述目标消息的情况下,根据所述索引字段和所述传输消息标识,将所述传输消息存储到所述哈希数据库。这样,通过哈希数据库存储完整消息的分段消息,避免内存缓存分段消息带来的大量内存消耗,降低分布式计算时分段消息重新组合的技术方案的复杂度,提升消息处理的用户体验。
Description
技术领域
本公开涉及通信领域,尤其涉及一种消息处理方法、装置、电子设备及存储介质。
背景技术
随着智能设备的普及,通过无线通信向目标用户推送消息的应用场景越来越普遍,例如生产者可以通过推送消息的方式向目标用户推广产品。在推送消息的过程中,可能会由于无线通信方式的不同将一个完整消息分割成多个分段消息,例如该推送消息可以是短信息,通过运营商的无线通信网络发送给目标用户,运营商的短信通信协议要求超过70个字时需要将完整消息分割成多个分段消息。
在该完整消息发送给目标用户之前,需要将多个分段消息重新组合成完整消息,并发送给目标用户。相关技术中可以将分段消息在内存中进行缓存直到该完整消息的所有分段消息收齐后重新组合成完整消息并发送给目标用户,这种方式占用大量内存,而且随着分布式计算不断普及,多个分段消息可能由分布式计算中的多个计算机接收到,重新组合多个分段消息实现复杂度高。
发明内容
为克服相关技术中存在的问题,本公开提供一种消息处理方法、装置、电子设备及存储介质。
根据本公开实施例的第一方面,提供一种消息处理方法,所述方法包括:
接收传输消息,所述传输消息包括索引字段和传输消息标识,所述索引字段包括源地址标识、目的地址标识以及分段消息条数,所述分段消息条数表征完整消息分割出的分段消息的数量;
在所述传输消息为非完整消息的情况下,确定哈希数据库中是否存在目标消息,所述目标消息是能够与所述传输消息组成所述完整消息的一个或者多个分段消息;
在所述哈希数据库中不存在所述目标消息的情况下,根据所述索引字段和所述传输消息标识,将所述传输消息存储到所述哈希数据库。
可选地,所述确定哈希数据库中是否存在目标消息包括:
根据所述索引字段在所述哈希数据库中获取关联消息和所述关联消息对应的关联消息标识,所述关联消息对应的键值为所述索引字段;
根据所述关联消息标识和所述传输消息标识确定当前消息条数,所述当前消息条数表征所述完整消息中已经收到的分段消息的数量;
在所述当前消息条数小于所述分段消息条数的情况下,确定所述哈希数据库不存在所述目标消息,或者,在所述当前消息条数等于所述分段消息条数的情况下,确定所述哈希数据库存在所述目标消息。
可选地,所述根据所述关联消息标识和所述传输消息标识确定当前消息条数包括:
在所述关联消息标识包括所述传输消息标识的情况下,将所述关联消息条数作为所述当前消息条数;或者,
在所述关联消息标识不包括所述传输消息标识的情况下,将所述关联消息和所述传输消息的总条数作为所述当前消息条数。
可选地,所述根据所述索引字段和所述传输消息标识,将所述传输消息存储到所述哈希数据库包括:
在所述关联消息标识不包括所述传输消息标识的情况下,将所述索引字段、所述传输消息标识和传输消息内容分别作为所述哈希数据库的键值、字段和数值存储到所述哈希数据库;或者,
在所述关联消息标识包括所述传输消息标识的情况下,丢弃所述传输消息。
可选地,所述方法还包括:
在所述哈希数据库中存在所述目标消息的情况下,将所述传输消息和所述目标消息组成所述完整消息;
发送所述完整消息。
可选地,所述发送所述完整消息包括:
根据所述目的地址标识发送所述完整消息;
在所述完整消息发送成功的情况下,清空所述哈希数据库中的所述目标消息,展示用于提示发送成功的提示信息;或者,
在所述完整消息发送不成功或者发送状态超时的情况下,清空所述哈希数据库中的所述目标消息,展示用于提示发送失败的提示信息。
可选地,所述方法还包括:
在所述传输消息为完整消息的情况下,根据所述目的地址标识发送所述传输消息;
在所述传输消息发送成功的情况下,展示用于提示发送成功的提示信息;或者,
在所述传输消息发送不成功或者发送状态超时的情况下,丢弃所述传输消息,展示用于提示发送失败的提示信息。
可选地,所述哈希数据库还包括消息存储时间,所述方法还包括:
根据所述哈希数据库中任一目标键值获取所述目标键值对应的目标存储消息和所述目标存储消息对应的目标消息存储时间;
在任一所述目标存储消息的目标消息存储时间表征在所述哈希数据库中的存储时长大于或者等于预设时长阈值的情况下,从所述哈希数据库中清空所述目标存储消息。
根据本公开实施例的第二方面,提供一种消息处理装置,所述装置包括:
接收模块,被配置为接收传输消息,所述传输消息包括索引字段和传输消息标识,所述索引字段包括源地址标识、目的地址标识以及分段消息条数,所述分段消息条数表征完整消息分割出的分段消息的数量;
确定模块,被配置为在所述传输消息为非完整消息的情况下,确定哈希数据库中是否存在目标消息,所述目标消息是能够与所述传输消息组成所述完整消息的一个或者多个分段消息;
存储模块,被配置为在所述哈希数据库中不存在所述目标消息的情况下,根据所述索引字段和所述传输消息标识,将所述传输消息存储到所述哈希数据库。
可选地,所述确定模块,还被配置为:
根据所述索引字段在所述哈希数据库中获取关联消息和所述关联消息对应的关联消息标识,所述关联消息对应的键值为所述索引字段;
根据所述关联消息标识和所述传输消息标识确定当前消息条数,所述当前消息条数表征所述完整消息中已经收到的分段消息的数量;
在所述当前消息条数小于所述分段消息条数的情况下,确定所述哈希数据库不存在所述目标消息,或者,在所述当前消息条数等于所述分段消息条数的情况下,确定所述哈希数据库存在所述目标消息。
可选地,所述确定模块,还被配置为:
在所述关联消息标识包括所述传输消息标识的情况下,将所述关联消息条数作为所述当前消息条数;或者,
在所述关联消息标识不包括所述传输消息标识的情况下,将所述关联消息和所述传输消息的总条数作为所述当前消息条数。
可选地,所述存储模块,还被配置为:
在所述关联消息标识不包括所述传输消息标识的情况下,将所述索引字段、所述传输消息标识和传输消息内容分别作为所述哈希数据库的键值、字段和数值存储到所述哈希数据库;或者,
在所述关联消息标识包括所述传输消息标识的情况下,丢弃所述传输消息。
可选地,所述装置还包括第一发送模块,被配置为:
在所述哈希数据库中存在所述目标消息的情况下,将所述传输消息和所述目标消息组成所述完整消息;
发送所述完整消息。
可选地,所述第一发送模块,还被配置为:
根据所述目的地址标识发送所述完整消息;
在所述完整消息发送成功的情况下,清空所述哈希数据库中的所述目标消息,展示用于提示发送成功的提示信息;或者,
在所述完整消息发送不成功或者发送状态超时的情况下,清空所述哈希数据库中的所述目标消息,展示用于提示发送失败的提示信息。
可选地,所述装置还包括第二发送模块,被配置为:
在所述传输消息为完整消息的情况下,根据所述目的地址标识发送所述传输消息;
在所述传输消息发送成功的情况下,展示用于提示发送成功的提示信息;或者,
在所述传输消息发送不成功或者发送状态超时的情况下,丢弃所述传输消息,展示用于提示发送失败的提示信息。
可选地,所述哈希数据库还包括消息存储时间,所述装置还包括老化模块,被配置为:
根据所述哈希数据库中任一目标键值获取所述目标键值对应的目标存储消息和所述目标存储消息对应的目标消息存储时间;
在任一所述目标存储消息的目标消息存储时间表征在所述哈希数据库中的存储时长大于或者等于预设时长阈值的情况下,从所述哈希数据库中清空所述目标存储消息。
根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面中的任一实施方式所述方法的步骤。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面所述方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开首先接收传输消息;然后在所述传输消息为非完整消息的情况下,确定哈希数据库中是否存在目标消息;最后在所述哈希数据库中不存在所述目标消息的情况下,根据所述索引字段和所述传输消息标识,将所述传输消息存储到所述哈希数据库。这样,通过哈希数据库存储完整消息的分段消息,避免内存缓存分段消息带来的大量内存消耗,降低分布式计算时分段消息重新组合的技术方案的复杂度,提升消息处理的用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,但并不构成对本公开的限制。
图1是根据一示例性实施例示出的一种消息处理方法的流程图。
图2是根据一示例性实施例示出的另一种消息处理方法的流程图。
图3是根据一示例性实施例示出的又一种消息处理方法的流程图。
图4是根据一示例性实施例示出的又一种消息处理方法的流程图。
图5是根据一示例性实施例示出的又一种消息处理方法的流程图。
图6是根据一示例性实施例示出的又一种消息处理方法的流程图。
图7是根据一示例性实施例示出的一种消息处理装置的框图。
图8是根据一示例性实施例示出的另一种消息处理装置的框图。
图9是根据一示例性实施例示出的又一种消息处理装置的框图。
图10是根据一示例性实施例示出的又一种消息处理装置的框图。
图11是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
需要说明的是,本申请中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
需要说明的是,本申请中处于信息安全的需要,对于用户标识、企业标识、特服号、目的地址标识等均用字母表示,例如“AAAAA”,上述用户标识、企业标识、特服号、目的地址标识均可以是多位不同数字或者字母的任意组合,“AAAAA”是企业标识的示例,不应理解为所代表的标识信息就是5位数字,或者理解为各个标识位上的信息相同。
下面结合具体实施例对本公开进行说明。
图1是根据一示例性实施例示出的一种消息处理方法的流程图,如图1所示,该方法可以包括以下步骤:
在步骤S101中,接收传输消息。
其中,传输消息包括索引字段和传输消息标识,该索引字段包括源地址标识、目的地址标识以及分段消息条数,该分段消息条数表征完整消息分割出的分段消息的数量。
该传输消息可以是一个完整消息,也可以是一个完整消息分割出的一个分段消息。该源地址标识表征发送该传输消息的发送方信息,该目的地址标识表征该传输消息的目标用户信息。
示例地,该传输消息可以是短信,该源地址标识可以是短信的发送方信息,例如可以是企业标识(例如AAAAAA),在另一种可能的实现方式中,该发送方信息还可以包括用户标识(例如AAAAAA:BBBBBB)和/或特服号(例如CCCC),该用户标识可以是发送方建立的多个短信发送账号,特服号可以具体参见相关技术中的描述,此处不再赘述。该目的地址标识可以是短信的接收方信息,例如可以是目标用户的目标终端号码,该目的地址标识可以包括一个或者多个目标终端号码。
在一种可能的实现方式中,可以采用分段消息条数表征该传输消息是否为完整消息,例如该分段消息条数为0表征该传输消息为完整消息,该分段消息条数不为0表征该传输消息为不完整消息,例如该分段消息条数为5表征该传输消息对应的完整消息被分割成了5个分段消息。该传输消息标识在该传输消息为非完整消息的情况下可以表征分段消息的序号,例如在分段消息条数为5,传输消息标识为3的情况下,表征该传输消息为5个分段消息中的第3个分段消息。
在另一可能的实现方式中,该索引字段也可以包括单独的分段消息标识,例如在该分段消息标识为1的情况下,表征该传输消息为非完整消息,该分段消息标识为0的情况下,表征该传输消息为完整消息。本公开对此不做限制。
在步骤S102中,在传输消息为非完整消息的情况下,确定哈希数据库中是否存在目标消息。
其中,目标消息是能够与传输消息组成完整消息的一个或者多个分段消息。
在一些可能的实现方式中,该哈希数据库为非关系型数据库,例如可以为Redis(Remote Dictionary Server,远程字典服务),可以通过Redis hash存储分段消息。
示例地,可以根据分段消息条数(例如分段消息条数不为0)确定该传输消息为非完整消息。
图2是根据一示例性实施例示出的另一种消息处理方法的流程图,如图2所示,步骤S102可以包括以下步骤:
在步骤S1021中,根据索引字段在哈希数据库中获取关联消息和关联消息对应的关联消息标识。
其中,关联消息对应的键值为索引字段。
示例地,在将分段消息存储在哈希数据库中时,可以将分段消息的索引字段作为哈希数据库中的键值(Key),将分段消息的消息标识作为哈希数据库中的字段(Field),将分段消息的消息内容作为哈希数据库中的值(Value)。例如,分段消息的源地址标识为“AAAAAA:BBBBBB:CCCC”,其中AAAAAA为企业标识,BBBBBB为用户标识,CCCC为特服号,分段消息的目的地址标识可以为一个或者多个目标终端号码,分段消息条数为3,则可以将“AAAAAA:BBBBBB:CCCC:DDDDDDDDDDDDD:3”作为哈希数据库中的键值。将分段消息标识(例如1,3)作为哈希数据库中的字段(Field),将该分段消息的消息内容分别作为哈希数据库中对应字段的值(Value)。
示例地,在确定传输消息为非完整消息的情况下,可以根据传输消息的索引字段(例如“AAAAAA:BBBBBB:CCCC:DDDDDDDDDDDDD:3”)在哈希数据库中获取关联消息和对应的关联消息标识(1,3)。
在步骤S1022中,根据关联消息标识和传输消息标识确定当前消息条数。
其中,当前消息条数表征完整消息中已经收到的分段消息的数量。
示例地,关联消息对应的关联消息标识(1,3),该传输消息标识可以为2,表征该传输消息是关联消息对应的完整消息的一个新的分段消息,该传输消息标识也可以为1或3,表征该传输消息是其中一个关联消息的副本(例如某个分段消息收到两次)。
具体地,可以通过如下的步骤确定该当前消息条数。
步骤一、在关联消息标识包括传输消息标识的情况下,将关联消息条数作为当前消息条数。
示例地,在关联消息标识为(1,3),传输消息标识为1的情况下,表征传输消息是关联消息1的一个副本,当前消息条数为2。
步骤二、在关联消息标识不包括传输消息标识的情况下,将关联消息和传输消息的总条数作为当前消息条数。
示例地,在关联消息标识为(1,3),传输消息标识为2的情况下,当前消息条数为3。
在步骤S1023中,在当前消息条数小于分段消息条数的情况下,确定哈希数据库不存在目标消息,或者,在当前消息条数等于分段消息条数的情况下,确定哈希数据库存在目标消息。
示例地,分段消息条数为3,表征完整消息被分割成3个分段消息,在当前消息条数(例如为2)小于分段消息条数的情况下,确定哈希数据库不存在目标消息(即所有分段消息尚未接收完整)。或者,在当前消息条数(例如为3)等于分段消息条数的情况下,确定哈希数据库存在目标消息(即所有分段消息已经接收完整)。
在步骤S103中,在哈希数据库中不存在目标消息的情况下,根据索引字段和传输消息标识,将传输消息存储到哈希数据库。
在一些可能的实现方式中,可以通过如下的步骤将传输消息存储到哈希数据库。
步骤1、在关联消息标识不包括传输消息标识的情况下,将索引字段、传输消息标识和传输消息内容分别作为哈希数据库的键值、字段和数值存储到哈希数据库。
示例地,传输消息的索引字段为“AAAAAA:BBBBBB:CCCC:DDDDDDDDDDDDD:4”,该传输消息标识为2,该关联消息标识为(例如为1,3),关联消息标识不包含该传输消息标识,表征该传输消息是有效的分段消息,将该索引字段作为哈希数据库的键值,将该传输消息标识(本例中为2)作为哈希数据库的字段,将传输消息内容作为哈希数据库的对应字段(本例中为2)的值存储到哈希数据库中。
步骤2、在关联消息标识包括传输消息标识的情况下,丢弃传输消息。
示例地,传输消息的索引字段为“AAAAAA:BBBBBB:CCCC:DDDDDDDDDDDDD:4”,该传输消息标识为1,该关联消息标识为(例如为1,3),关联消息标识包含该传输消息标识,表征该传输消息是分段消息1的一个副本,在这种情况下,可以将传输消息丢弃。
在一些可能的实现方式中,可以记录将传输消息丢弃的日志,本公开对此不做限制。
采用上述的技术方案,通过哈希数据库存储完整消息的分段消息,避免内存缓存分段消息带来的大量内存消耗,降低分布式计算时分段消息重新组合的技术方案的复杂度,提升消息处理的用户体验。
图3是根据一示例性实施例示出的又一种消息处理方法的流程图,如图3所示,该方法可以包括以下步骤:
在步骤S104中,在哈希数据库中存在目标消息的情况下,将传输消息和目标消息组成完整消息。
哈希数据库中存在目标消息表征传输消息可以和目标消息组成该完整消息,示例地,传输消息的索引字段为“AAAAAA:BBBBBB:CCCC:DDDDDDDDDDDDD:4”,该传输消息标识为1,哈希数据库中存在目标消息表征传输消息表征哈希数据库中存在的目标消息索引字段为“AAAAAA:BBBBBB:CCCC:DDDDDDDDDDDDD:4”且对应的目标消息标识为(2,3,4),在这种情况下,将传输消息和目标消息组成完整消息。具体组成完整消息的方法与完整消息的分割方法有关,参见相关技术中的描述,此处不再赘述。
在步骤S105中,发送完整消息。
图4是根据一示例性实施例示出的另一种消息处理方法的流程图,如图4所示,步骤S105可以包括以下步骤:
在步骤S1051中,根据目的地址标识发送完整消息。
示例地,该目的地址标识可以包括一个或者多个目标终端号码,向该一个或者多个目标终端号码发送该完整消息,具体发送完整消息的技术方案与具体应用场景有关,例如对于ISP(Internet Service Provider,互联网服务提供商)来说,可以将该完整消息发送给预设的无线网络运营商,通过无线网络运营商发送给目标用户。具体请参考相关技术中的描述,此处不再展开赘述。
在步骤S1052中,在完整消息发送成功的情况下,清空哈希数据库中的目标消息,展示用于提示发送成功的提示信息。
在一些可能的实现方式中,在该完整消息发送以后,可以通过该完整消息的返回标志确定该完整消息是否发送成功,例如对于ISP(Internet Service Provider,互联网服务提供商)来说,可以通过无线网络运营商的返回标志确定该完整消息是否发送成功。在该返回标志表征该完整消息发送成功的情况下,可以清空哈希数据库中的目标消息,释放哈希数据库中目标消息占用的空间,向ISP的用户展示用于提示发送成功的提示消息,也可以记录完整消息处理日志,本公开对此不做限制。
需要特别说明的是,该完整消息的目的地址标识可以包括多个目标用户的目标终端号码,该返回标志可以包括部分成功而部分失败,表征向部分目标用户发送成功,而向另外的目标用户发送失败。在这种情况下,可以清空哈希数据库中的目标消息,重新将该传输消息和目标消息中的索引字段中的目的地址标识更改为发送未成功的目标用户的目标终端号码,将更改后的传输消息和目标消息继续存储在哈希数据库中,便于根据预设的重传策略进行重传。
在步骤S1053中,在完整消息发送不成功或者发送状态超时的情况下,清空哈希数据库中的目标消息,展示用于提示发送失败的提示信息。
示例地,在该返回标志表征该完整消息发送不成功(例如给所有的目标用户的目标终端号码发送均不成功)或者没有收到发送完整消息的返回标志的时间超过预设的返回时间阈值(例如72小时)的情况下,可以清空哈希数据库中的目标消息,向ISP的用户展示用于提示发送失败的提示消息,也可以记录完整消息处理日志,本公开对此不做限制。
在另一种可能的实现方式中,也可以将该完整消息存储在哈希数据库中,在按照预设的重传策略对该完整消息重传仍不成功或者发送状态仍超时的情况下,在丢弃该完整消息,本公开对此不做限制。
采用上述的技术方案,在哈希数据库中存在目标消息的情况下,将传输消息和目标消息组成完整消息并发送完整消息,及时向用户反馈消息发送的状态,在发送成功的情况下,清空哈希数据库中的目标消息以释放该目标消息占用的空间,在发送不成功或者发送状态超时的情况下,还可以在哈希数据库中缓存该完整消息,便于按照预设的重传策略进行重传,提高完整消息发送的可靠性,进一步提升消息处理的用户体验。
图5是根据一示例性实施例示出的又一种消息处理方法的流程图,如图5所示,该方法可以包括以下步骤:
在步骤S106中,在传输消息为完整消息的情况下,根据目的地址标识发送传输消息。
示例地,可以采用分段消息条数表征该传输消息是否为完整消息,例如该分段消息条数为0表征该传输消息为完整消息,在另一可能的实现方式中,该索引字段也可以包括单独的分段消息标识,例如在该分段消息标识为1的情况下,表征该传输消息为非完整消息,该分段消息标识为0的情况下,表征该传输消息为完整消息,本公开对此不做限制。
示例地,该目的地址标识可以包括一个或者多个目标终端号码,向该一个或者多个目标终端号码发送该传输消息,具体发送传输消息的技术方案与具体应用场景有关,具体请参考相关技术中的描述,此处不再展开赘述。
在步骤S107中,在传输消息发送成功的情况下,展示用于提示发送成功的提示信息。
在一些可能的实现方式中,在该传输消息发送以后,可以通过发送传输消息的返回标志确定该传输消息是否发送成功,例如对于ISP(Internet Service Provider,互联网服务提供商)来说,可以通过无线网络运营商的返回标志确定该传输消息是否发送成功。在该返回标志表征该传输消息发送成功的情况下,展示用于提示发送成功的提示信息。
需要特别说明的是,该传输消息的目的地址标识可以包括多个目标用户的目标终端号码,该返回标志可以包括部分成功而部分失败,表征向部分目标用户发送成功,而向另外的目标用户发送失败。在这种情况下,可以将该传输消息的索引字段中的目的地址标识更改为发送未成功的目标用户的目标终端号码,将更改后的传输消息存储在哈希数据库中,可以根据预设的重传策略进行重传。
在步骤S108中,在传输消息发送不成功或者发送状态超时的情况下,丢弃传输消息,展示用于提示发送失败的提示信息。
示例地,在该返回标志表征该传输消息发送不成功(例如给所有的目标用户的终端号码发送均不成功)或者没有收到发送传输消息的返回标志的时间超过预设的返回时间阈值(例如72小时)的情况下,可以丢弃该传输消息,向ISP的用户展示用于提示发送失败的提示消息,该提示消息也可以是记录完整消息处理日志,本公开对此不做限制。
在另一种可能的实现方式中,也可以将该传输消息存储在哈希数据库中,在按照预设的重传策略对该传输消息重传仍不成功或者发送状态仍超时的情况下,再清空哈希数据库中存储的该传输消息,本公开对此不做限制。
采用上述的技术方案,在传输消息为完整消息的情况下,能够及时发送该传输消息,及时向用户反馈消息发送的状态,在发送不成功或者发送状态超时的情况下,还可以在哈希数据库中缓存该传输消息,便于按照预设的重传策略进行重传,提高传输消息发送的可靠性,进一步提升消息处理的用户体验。
在一些实施例中,还可能会存在完整消息的对应的分段消息长时间未接收完整,导致无法重新组成完整消息而占用哈希数据库的情况,影响哈希数据库的容量。
图6是根据一示例性实施例示出的又一种消息处理方法的流程图,如图6所示,该方法可以包括以下步骤:
在步骤S109中,根据哈希数据库中任一目标键值获取目标键值对应的目标存储消息和目标存储消息对应的目标消息存储时间。
其中,该哈希数据库还包括消息存储时间,该消息存储时间为对应的消息存储到该哈希数据库中的时间,可以通过当前时间与该消息存储时间的时间差获取该消息的存储时长。
示例地,可以根据目标键值“AAAAAA:BBBBBB:CCCC:DDDDDDDDDDDDD:3”从哈希数据库中获取该目标键值对应的目标存储消息和每一个目标存储消息对应的目标消息存储时间,该目标存储消息可以为一个或者多个。例如该目标存储消息对应的存储消息标识(即哈希数据库中的字段)为(2,3)。
在步骤S110中,在任一目标存储消息的目标消息存储时间表征在哈希数据库中的存储时长大于或者等于预设时长阈值的情况下,从哈希数据库中清空目标存储消息。
示例地,在任一目标存储消息的目标消息存储时间表征在哈希数据库中的存储时长大于或者等于预设时长阈值(例如为30分钟)的情况下,从哈希数据库中清空目标存储消息。
采用上述的技术方案,在哈希数据库中的存储消息的消息存储时间表征存储消息在哈希数据库中的存储时间超过预设时长阈值的情况下,及时清空存储消息,释放哈希数据库的空间,提升哈希数据库的容量,进一步提升消息处理的用户体验。
图7是根据一示例性实施例示出的一种消息处理装置700的框图,如图7所示,消息处理装置700包括:
接收模块701,被配置为接收传输消息,传输消息包括索引字段和传输消息标识,索引字段包括源地址标识、目的地址标识以及分段消息条数,分段消息条数表征完整消息分割出的分段消息的数量;
确定模块702,被配置为在传输消息为非完整消息的情况下,确定哈希数据库中是否存在目标消息,目标消息是能够与传输消息组成完整消息的一个或者多个分段消息;
存储模块703,被配置为在哈希数据库中不存在目标消息的情况下,根据索引字段和传输消息标识,将传输消息存储到哈希数据库。
可选地,确定模块702,还被配置为:
根据索引字段在哈希数据库中获取关联消息和关联消息对应的关联消息标识,关联消息对应的键值为索引字段;
根据关联消息标识和传输消息标识确定当前消息条数,当前消息条数表征完整消息中已经收到的分段消息的数量;
在当前消息条数小于分段消息条数的情况下,确定哈希数据库不存在目标消息,或者,在当前消息条数等于分段消息条数的情况下,确定哈希数据库存在目标消息。
可选地,确定模块702,还被配置为:
在关联消息标识包括传输消息标识的情况下,将关联消息条数作为当前消息条数;或者,
在关联消息标识不包括传输消息标识的情况下,将关联消息和传输消息的总条数作为当前消息条数。
可选地,存储模块703,还被配置为:
在关联消息标识不包括传输消息标识的情况下,将索引字段、传输消息标识和传输消息内容分别作为哈希数据库的键值、字段和数值存储到哈希数据库;或者,
在关联消息标识包括传输消息标识的情况下,丢弃传输消息。
图8是根据一示例性实施例示出的另一种消息处理装置700的框图,如图8所示,消息处理装置700还包括:
第一发送模块704,被配置为:
在哈希数据库中存在目标消息的情况下,将传输消息和目标消息组成完整消息;
发送完整消息。
可选地,第一发送模块704,还被配置为:
根据目的地址标识发送完整消息;
在完整消息发送成功的情况下,清空哈希数据库中的目标消息,展示用于提示发送成功的提示信息;或者,
在完整消息发送不成功或者发送状态超时的情况下,清空哈希数据库中的目标消息,展示用于提示发送失败的提示信息。
图9是根据一示例性实施例示出的又一种消息处理装置700的框图,如图9所示,消息处理装置700还包括:
第二发送模块705,被配置为:
在传输消息为完整消息的情况下,根据目的地址标识发送传输消息;
在传输消息发送成功的情况下,展示用于提示发送成功的提示信息;或者,
在传输消息发送不成功或者发送状态超时的情况下,丢弃传输消息,展示用于提示发送失败的提示信息。
图10是根据一示例性实施例示出的又一种消息处理装置700的框图,如图10所示,消息处理装置700还包括:
老化模块706,被配置为:
根据哈希数据库中任一目标键值获取目标键值对应的目标存储消息和目标存储消息对应的目标消息存储时间;
在任一目标存储消息的目标消息存储时间表征在哈希数据库中的存储时长大于或者等于预设时长阈值的情况下,从哈希数据库中清空目标存储消息。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
上述技术方案中,首先接收传输消息;然后在传输消息为非完整消息的情况下,确定哈希数据库中是否存在目标消息;最后在哈希数据库中不存在目标消息的情况下,根据索引字段和所述传输消息标识,将传输消息存储到所述哈希数据库。这样,通过哈希数据库存储完整消息的分段消息,避免内存缓存分段消息带来的大量内存消耗,降低分布式计算时分段消息重新组合的技术方案的复杂度,提升消息处理的用户体验。
图11是根据一示例性实施例示出的一种电子设备1100的框图。如图5所示,电子设备1100可以包括:处理器1101,存储器1102。电子设备1100还可以包括多媒体组件1103,输入/输出接口1104,以及通信组件1105中的一者或多者。
其中,处理器1101用于控制电子设备1100的整体操作,以完成上述的消息处理方法中的全部或部分步骤。存储器1102用于存储各种类型的数据以支持在电子设备1100的操作,这些数据例如可以包括用于在电子设备1100上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器1102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1102或通过通信组件1105发送。音频组件还包括至少一个扬声器,用于输出音频信号。输入/输出接口1104为处理器1101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1105用于电子设备1100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(NearField Communication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件1105可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在另一示例性实施例中,还提供了一种包括程序指令的非临时性计算机可读存储介质,该程序指令被处理器执行时实现上述的消息处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1102,上述程序指令可由电子设备1100的处理器1101执行以完成上述的消息处理方法。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (11)
1.一种消息处理方法,其特征在于,所述方法包括:
接收传输消息,所述传输消息包括索引字段和传输消息标识,所述索引字段包括源地址标识、目的地址标识以及分段消息条数,所述分段消息条数表征完整消息分割出的分段消息的数量;
在所述传输消息为非完整消息的情况下,确定哈希数据库中是否存在目标消息,所述目标消息是能够与所述传输消息组成所述完整消息的一个或者多个分段消息;
在所述哈希数据库中不存在所述目标消息的情况下,根据所述索引字段和所述传输消息标识,将所述传输消息存储到所述哈希数据库。
2.根据权利要求1所述的方法,其特征在于,所述确定哈希数据库中是否存在目标消息包括:
根据所述索引字段在所述哈希数据库中获取关联消息和所述关联消息对应的关联消息标识,所述关联消息对应的键值为所述索引字段;
根据所述关联消息标识和所述传输消息标识确定当前消息条数,所述当前消息条数表征所述完整消息中已经收到的分段消息的数量;
在所述当前消息条数小于所述分段消息条数的情况下,确定所述哈希数据库不存在所述目标消息,或者,在所述当前消息条数等于所述分段消息条数的情况下,确定所述哈希数据库存在所述目标消息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述关联消息标识和所述传输消息标识确定当前消息条数包括:
在所述关联消息标识包括所述传输消息标识的情况下,将所述关联消息条数作为所述当前消息条数;或者,
在所述关联消息标识不包括所述传输消息标识的情况下,将所述关联消息和所述传输消息的总条数作为所述当前消息条数。
4.根据权利要求3所述的方法,其特征在于,所述根据所述索引字段和所述传输消息标识,将所述传输消息存储到所述哈希数据库包括:
在所述关联消息标识不包括所述传输消息标识的情况下,将所述索引字段、所述传输消息标识和传输消息内容分别作为所述哈希数据库的键值、字段和数值存储到所述哈希数据库;或者,
在所述关联消息标识包括所述传输消息标识的情况下,丢弃所述传输消息。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
在所述哈希数据库中存在所述目标消息的情况下,将所述传输消息和所述目标消息组成所述完整消息;
发送所述完整消息。
6.根据权利要求5所述的方法,其特征在于,所述发送所述完整消息包括:
根据所述目的地址标识发送所述完整消息;
在所述完整消息发送成功的情况下,清空所述哈希数据库中的所述目标消息,展示用于提示发送成功的提示信息;或者,
在所述完整消息发送不成功或者发送状态超时的情况下,清空所述哈希数据库中的所述目标消息,展示用于提示发送失败的提示信息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述传输消息为完整消息的情况下,根据所述目的地址标识发送所述传输消息;
在所述传输消息发送成功的情况下,展示用于提示发送成功的提示信息;或者,
在所述传输消息发送不成功或者发送状态超时的情况下,丢弃所述传输消息,展示用于提示发送失败的提示信息。
8.根据权利要求1所述的方法,其特征在于,所述哈希数据库还包括消息存储时间,所述方法还包括:
根据所述哈希数据库中任一目标键值获取所述目标键值对应的目标存储消息和所述目标存储消息对应的目标消息存储时间;
在任一所述目标存储消息的目标消息存储时间表征在所述哈希数据库中的存储时长大于或者等于预设时长阈值的情况下,从所述哈希数据库中清空所述目标存储消息。
9.一种消息处理装置,其特征在于,所述装置包括:
接收模块,被配置为接收传输消息,所述传输消息包括索引字段和传输消息标识,所述索引字段包括源地址标识、目的地址标识以及分段消息条数,所述分段消息条数表征完整消息分割出的分段消息的数量;
确定模块,被配置为在所述传输消息为非完整消息的情况下,确定哈希数据库中是否存在目标消息,所述目标消息是能够与所述传输消息组成完整消息的一个或者多个分段消息;
存储模块,被配置为在所述哈希数据库中不存在所述目标消息的情况下,根据所述索引字段和所述传输消息标识,将所述传输消息存储到所述哈希数据库。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1至8中任一项所述方法的步骤。
11.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210758692.0A CN114817272A (zh) | 2022-06-30 | 2022-06-30 | 消息处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210758692.0A CN114817272A (zh) | 2022-06-30 | 2022-06-30 | 消息处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114817272A true CN114817272A (zh) | 2022-07-29 |
Family
ID=82522397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210758692.0A Pending CN114817272A (zh) | 2022-06-30 | 2022-06-30 | 消息处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114817272A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865281A (zh) * | 2022-11-17 | 2023-03-28 | 重庆川仪自动化股份有限公司 | 工业仪表通信数据丢包处理方法、系统、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595748B1 (en) * | 2007-12-21 | 2013-11-26 | Ibiquity Digital Corporation | Systems and methods for transmitting and receiving large objects via digital radio broadcast |
CN106686560A (zh) * | 2015-11-11 | 2017-05-17 | 中兴通讯股份有限公司 | 一种串接长消息的处理方法及装置 |
WO2020220641A1 (zh) * | 2019-04-28 | 2020-11-05 | 平安科技(深圳)有限公司 | 基于点对点网络的数据存储方法、装置、介质及服务器 |
CN112052247A (zh) * | 2020-09-29 | 2020-12-08 | 微医云(杭州)控股有限公司 | 搜索引擎的索引更新系统、方法、装置、电子设备、存储介质 |
CN113051268A (zh) * | 2021-03-19 | 2021-06-29 | 中国工商银行股份有限公司 | 数据查询方法、数据查询装置、电子设备及存储介质 |
-
2022
- 2022-06-30 CN CN202210758692.0A patent/CN114817272A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595748B1 (en) * | 2007-12-21 | 2013-11-26 | Ibiquity Digital Corporation | Systems and methods for transmitting and receiving large objects via digital radio broadcast |
CN106686560A (zh) * | 2015-11-11 | 2017-05-17 | 中兴通讯股份有限公司 | 一种串接长消息的处理方法及装置 |
WO2020220641A1 (zh) * | 2019-04-28 | 2020-11-05 | 平安科技(深圳)有限公司 | 基于点对点网络的数据存储方法、装置、介质及服务器 |
CN112052247A (zh) * | 2020-09-29 | 2020-12-08 | 微医云(杭州)控股有限公司 | 搜索引擎的索引更新系统、方法、装置、电子设备、存储介质 |
CN113051268A (zh) * | 2021-03-19 | 2021-06-29 | 中国工商银行股份有限公司 | 数据查询方法、数据查询装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
汪超等: "基于Hash表的数据库索引结构设计与实现", 《微处理机》 * |
郭薇,郭菁,胡志勇: "《空间数据库索引技术》", 30 April 2006 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865281A (zh) * | 2022-11-17 | 2023-03-28 | 重庆川仪自动化股份有限公司 | 工业仪表通信数据丢包处理方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9742667B2 (en) | Packet processing method, device and system | |
US9961029B2 (en) | System for reclassification of electronic messages in a spam filtering system | |
US20080102799A1 (en) | Method and apparatus for message identification | |
US20110060800A1 (en) | Method of guaranteeing the deliverability of emails and other messages | |
US20090310768A1 (en) | Social network based call management | |
CN110430135B (zh) | 一种报文处理方法和装置 | |
CN102594716B (zh) | 一种即时通信消息的传输方法、系统及设备 | |
CN110855548A (zh) | 一种消息推送方法及装置 | |
US20130145474A1 (en) | Concealing and revealing message data | |
CN106470150B (zh) | 关系链存储方法及装置 | |
CN112988667B (zh) | 一种基于区块链网络的数据存储方法及装置 | |
CA2911989C (en) | Method, system and apparatus for dectecting instant message spam | |
CN114817272A (zh) | 消息处理方法、装置、电子设备及存储介质 | |
US10205813B2 (en) | Method and system for detecting abnormal contact information and server | |
CN111159100A (zh) | 区块链文件存取方法、装置、计算机设备及存储介质 | |
CN111193792A (zh) | 一种消息传输方法、装置、电子设备和存储介质 | |
CN111147524B (zh) | 报文发送端的识别方法、装置和计算机可读存储介质 | |
US20200327161A1 (en) | Video processing method, device, terminal and storage medium | |
US8745101B2 (en) | Terminal and method for identifying contents | |
CN113225247B (zh) | 群聊处理方法和系统、电子设备、计算机可读存储介质 | |
CN113064906B (zh) | 一种Binlog日志数据适配迁移方法和系统 | |
US20170169239A1 (en) | Method for file synchronization, the receiver equipment and systems | |
CN110765147B (zh) | 基于区块链加密存储的内容更新方法、用户节点及介质 | |
CN114239963A (zh) | 有向图循环路径检测方法及装置 | |
US20100312816A1 (en) | Terminal, server and method for determining and processing contents as spams |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220729 |
|
RJ01 | Rejection of invention patent application after publication |