终端获取消息的方法

文档序号:7857294阅读:140来源:国知局
专利名称:终端获取消息的方法
终端获取消息的方法
技术领域
本发明具体涉及ー种终端获取消息的方法。
背景技木传统的终端接收消息传统的方法一般是服务端通过广播包或点对点的方式主动向客户端发送数据,客户端完成数据接收后,通过解析数据以各种展现方式显示在客户端界面上。然而,传统的方法存在以下问题1、直接通信的方式对网络的稳定性要求较高且复杂度也较高,一旦网络环境出现不稳定的情况容易造成信息丢失。2、直接通信的方式在信息并发量较大的情况下对客户端性能要求较高,在客户端性能不能满足的情况下容易造成信息丢失或死机的情况,同时容易造成网络阻塞。

发明内容本发明所要解决的技术问题在于提供ー种终端获取消息的方法,減少了网络压力,提高了通信效率,減少不必要的通信,提高了网络的利用率。本发明是通过以下技术方案解决上述技术问题的ー种终端获取消息的方法,包括在服务端定义ー消息发送模块,在客户端定义ー消息读取模块和ー消息处理模块,在服务端的服务器中定义ー数据库,该数据库具有主消息表和終端消息表;所述主消息表包括消息ID、消息类型、消息内容、有效期限和消息状态;所述消息ID为主消息表中各消息的编号;所述消息类型是指主消息表中各消息的存在格式;所述终端消息表包括終端消息ID、終端唯一标识、消息ID和处理标志信息;所述終端消息ID为终端消息表中存储的各条数据记录的序号;所述终端唯一标识为用于识别需获取終端消息表中的信息的客户端标识;所述客户端标识为客户端的身份ID ;所述终端获取消息的方法具体包括以下步骤步骤10 :服务端通过消息发送模块将待发送的消息存储于数据库的主消息表中,并对该消息的消息ID、消息类型、消息内容、有效期限和消息状态进行赋值;步骤20 :客户端通过消息读取模块将主消息表中待发送的消息的消息ID从主消息表读取到終端消息表中,且所述数据库自动将该消息ID的处理标志默认为“未处理”;步骤30 :客户端通过消息处理模块从所述终端消息表中获取处理标志为“未处理”的消息ID,再从主消息表中获取该消息ID所对应的消息类型和消息内容,井根据所述消息类型对所述消息内容进行解析和处理,从而实现客户端获取所需的消息。进ー步地,所述步骤10具体包括以下内容
步骤101 :服务人员在主消息表中选择待编辑的消息的消息类型,再根据所述消息类型通过导入外部数据或手工编辑,得到消息,然后在主消息表中填写该消息的有效期限;步骤102 :所述消息发送模块将步骤101获得的消息保存至所述主消息表的消息内容处;然后所述数据库自动将该消息的消息状态默认为“未发送”,并自动生成该消息的消息ID ;步骤103 :服务人员查询主消息表,选择消息状态为“未发送”且准备要发送的消息,然后判断是否可以发送,若是,则执行步骤104 ;若否,则结束流程;步骤104 :所述数据库将步骤103选择的消息的消息状态更新“已发送”,然后结束流程。进ー步地,所述步骤20具体包括以下内容步骤201 :所述消息读取模块查询主消息表,获取消息状态为“已发送”的消息的消息ID ;步骤202 :所述消息读取模块查询終端消息表,将终端消息表中的終端唯一标识与当前客户端的客户端标识进行匹配,获取与当前客户端的客户端标识相同的終端唯一标识所对应的消息ID ;步骤203 :所述消息读取模块判断步骤201所获得的消息ID与步骤202所获得的消息ID是否有不同的消息ID,若是,则有新消息,然后执行步骤204 ;若否,则无新消息,并执行步骤205 ;步骤204 :所述消息读取模块将步骤201所获得的并与步骤202获得的消息ID不相同的消息ID保存至終端消息表,然后所述数据库自动将该消息ID的处理标志默认为“未处理”;步骤205 :判断消息读取模块是否退出,若是,则结束流程;若否,则返回至步骤201。进ー步地,所述步骤30具体包括以下内容步骤301 :所述消息处理模块查询終端消息表,判断是否存在終端唯一标识与当前客户端的客户端标识相同,且处理标志为“未处理”的消息ID ;若是,则当前客户端存在未处理的消息,并执行步骤302 ;若否,则执行步骤305 ;步骤302 :消息处理模块从终端消息表中提取步骤301查询所得的消息ID和该消息ID所对应的终端消息ID ;步骤303 :消息处理模块根据步骤302所提取的消息ID查询主消息表,获取该消息ID所对应的消息类型和消息内容,井根据所述消息类型对所述消息内容进行解析,并在客户端上显示解析结果;步骤304 :根据步骤302所提取的終端消息ID,所述消息处理模块将终端消息表中该终端消息ID所对应的消息ID的处理标志更新为“已处理”;步骤305 :判断消息处理模块是否退出,若是,则结束流程;若否,则返回至步骤301。进ー步地,所述服务端还定义有一消息过期处理模块,所述方法在步骤30之后还包括步骤40 :服务端中的消息过期处理模块将所述主消息表和終端消息表中的过期的消息删除。进ー步地,所述步骤40具体包括以下内容步骤401 :所述消息过期处理模块在服务端上定义ー临时表;步骤402 :消息过期处理模块初始化临时表以清空临时表中的数据;
步骤403 :消息过期处理模块查询主消息表,判断是否存在有效期限小于服务端当前所显示的时间,且消息状态为“已发送”的消息;若是,则将该消息的消息ID存储于所述临时表中,并执行步骤404 ;若否,则执行步骤405 ;步骤404 :分别将主消息表中的消息ID、終端消息表中的消息ID与所述临时表中的消息ID相同的消息删除;步骤405 :判断消息过期处理模块是否退出,若是,则结束流程;若否,则返回至步骤 402。本发明的有益效果在于采用服务端程序和客户端程序不直接进行通信,消息接收方式由原来的被动接收变为主动获取的方式,且客户端主动获取消息的方式可以根据客户端的情况控制每次读取的消息量,減少了网络压力,提高了通信效率,減少不必要的通信,提高了网络的利用率,避免了消息并发以及因并发引起的网络阻塞的问题,大大降低对客户端的性能要求。

下面參照附图结合实施例对本发明作进ー步的描述。图1为本发明中终端获取消息系统的框架图。图2为本发明中消息发送模块存储消息的算法流程图。图3为本发明中消息读取模块读取消息的算法流程图。图4为本发明中消息处理模块解析消息的算法流程图。图5为本发明中消息过期处理模块删除过期消息的算法流程图。
具体实施方式如图1所示,图1为本发明的终端获取消息系统的框架图,ー种终端获取消息的方法,包括在服务端定义ー消息发送模块和ー消息过期处理模块,在客户端定义ー消息读取模块和一消息处理模块,在服务端的服务器中定义ー数据库,该数据库具有主消息表和终端消息表;所述主消息表用于存储服务端发送的消息,所述主消息表包括消息ID、消息类型、消息内容、有效期限和消息状态(见表I所示);所述消息ID为主消息表中各消息的编号;所述消息类型是指主消息表中各消息的存在格式,如消息类型为图片、文字、加密数字或走马灯格式。表I主消息表
消息ID消息类型~ 消息内容~有效期限~ 消息状态所述终端消息表用于存储各客户端从主消息表读取的消息;所述终端消息表包括終端消息ID、終端唯一标识、消息ID和处理标志信息(见表2所示);所述终端消息ID为終端消息表中存储的各条数据记录的序号;所述终端唯一标识为用于识别需获取終端消息表中的信息的客户端标识;所述客户端标识为客户端的身份ID,如可采用客户端主机的网卡MAC地址作为该客户端的客户端标识和终端卩隹ー标识。
表2终端消息表
权利要求
1.一种终端获取消息的方法,其特征在于包括在服务端定义一消息发送模块,在客户端定义一消息读取模块和一消息处理模块,在服务端的服务器中定义一数据库,该数据库具有主消息表和终端消息表;所述主消息表包括消息ID、消息类型、消息内容、有效期限和消息状态;所述消息ID为主消息表中各消息的编号;所述消息类型是指主消息表中各消息的存在格式;所述终端消息表包括终端消息ID、终端唯一标识、消息ID和处理标志信息;所述终端消息ID为终端消息表中存储的各条数据记录的序号;所述终端唯一标识为用于识别需获取终端消息表中的信息的客户端标识;所述客户端标识为客户端的身份ID ;所述终端获取消息的方法具体包括以下步骤步骤10 :服务端通过消息发送模块将待发送的消息存储于数据库的主消息表中,并对该消息的消息ID、消息类型、消息内容、有效期限和消息状态进行赋值;步骤20 :客户端通过消息读取模块将主消息表中待发送的消息的消息ID从主消息表读取到终端消息表中,且所述数据库自动将该消息ID的处理标志默认为“未处理”;步骤30 :客户端通过消息处理模块从所述终端消息表中获取处理标志为“未处理”的消息ID,再从主消息表中获取该消息ID所对应的消息类型和消息内容,并根据所述消息类型对所述消息内容进行解析和处理,从而实现客户端获取所需的消息。
2.如权利要求1所述的终端获取消息的方法,其特征在于所述步骤10具体包括以下内容步骤101 :服务人员在主消息表中选择待编辑的消息的消息类型,再根据所述消息类型通过导入外部数据或手工编辑,得到消息,然后在主消息表中填写该消息的有效期限; 步骤102 :所述消息发送模块将步骤101获得的消息保存至所述主消息表的消息内容处;然后所述数据库自动将该消息的消息状态默认为“未发送”,并自动生成该消息的消息 ID ;步骤103 :服务人员查询主消息表,选择消息状态为“未发送”且准备要发送的消息,然后判断是否可以发送,若是,则执行步骤104 ;若否,则结束流程;步骤104 :所述数据库将步骤103选择的消息的消息状态更新“已发送”,然后结束流程。
3.如权利要求1所述的终端获取消息的方法,其特征在于所述步骤20具体包括以下内容步骤201 :所述消息读取模块查询主消息表,获取消息状态为“已发送”的消息的消息ID ;步骤202 :所述消息读取模块查询终端消息表,将终端消息表中的终端唯一标识与当前客户端的客户端标识进行匹配,获取与当前客户端的客户端标识相同的终端唯一标识所对应的消息ID ;步骤203 :所述消息读取模块判断步骤201所获得的消息ID与步骤202所获得的消息 ID是否有不同的消息ID,若是,则有新消息,然后执行步骤204 ;若否,则无新消息,并执行步骤205 ;步骤204 :所述消息读取模块将步骤201所获得的并与步骤202获得的消息ID不相同的消息ID保存至终端消息表,然后所述数据库自动将该消息ID的处理标志默认为“未处理”;步骤205 :判断消息读取模块是否退出,若是,则结束流程;若否,则返回至步骤201。
4.如权利要求1所述的终端获取消息的方法,其特征在于所述步骤30具体包括以下内容步骤301 :所述消息处理模块查询终端消息表,判断是否存在终端唯一标识与当前客户端的客户端标识相同,且处理标志为“未处理”的消息ID ;若是,则当前客户端存在未处理的消息,并执行步骤302 ;若否,则执行步骤305 ;步骤302 :消息处理模块从终端消息表中提取步骤301查询所得的消息ID和该消息ID 所对应的终端消息ID ;步骤303 :消息处理模块根据步骤302所提取的消息ID查询主消息表,获取该消息ID 所对应的消息类型和消息内容,并根据所述消息类型对所述消息内容进行解析,并在客户端上显示解析结果;步骤304 :根据步骤302所提取的终端消息ID,所述消息处理模块将终端消息表中该终端消息ID所对应的消息ID的处理标志更新为“已处理”;步骤305 :判断消息处理模块是否退出,若是,则结束流程;若否,则返回至步骤301。
5.如权利要求1所述的终端获取消息的方法,其特征在于所述服务端还定义有一消息过期处理模块,所述方法在步骤30之后还包括步骤40 :服务端中的消息过期处理模块将所述主消息表和终端消息表中的过期的消息删除。
6.如权利要求5所述的终端获取消息的方法,其特征在于所述步骤40具体包括以下内容步骤401 :所述消息过期处理模块在服务端上定义一临时表;步骤402 :消息过期处理模块初始化临时表以清空临时表中的数据;步骤403 :消息过期处理模块查询主消息表,判断是否存在有效期限小于服务端当前所显示的时间,且消息状态为“已发送”的消息;若是,则将该消息的消息ID存储于所述临时表中,并执行步骤404 ;若否,则执行步骤405 步骤404 :分别将主消息表中的消息ID、终端消息表中的消息ID与所述临时表中的消息ID相同的消息删除;步骤405 :判断消息过期处理模块是否退出,若是,则结束流程;若否,则返回至步骤402。
全文摘要
本发明提供了一种终端获取消息的方法,包括在服务端定义一消息发送模块,在客户端定义一消息读取模块和一消息处理模块,在一服务器定义一数据库,该数据库具有主消息表和终端消息表;所述终端获取消息的方法包括服务端中的消息发送模块将待发送的消息存储于数据库的主消息表中;客户端中的消息读取模块将存储于主消息表中的消息读取到终端消息表中;客户端中的消息处理模块将所述终端消息表中的消息进行处理和解析。本发明有效地降低了通信的复杂度,避免了消息并发以及因并发引起的网络阻塞的问题,大大降低对客户端的性能要求。
文档编号H04L12/58GK103023750SQ20121027354
公开日2013年4月3日 申请日期2012年8月1日 优先权日2012年8月1日
发明者陈华 申请人:福建星网视易信息系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1