本发明属于计算机网络通讯技术领域,具体涉及一种基于云计算的公告推送方法。
背景技术:
传统互联网访问一般都是用户进行请求、服务器返回结果,而推送服务变被动接受请求为主动发送信息,由服务器主动向用户发送信息,用户选择接收。另外,传统的公告广播方式一般是采用网站公示的形式,用户需要主动登录网站才能看到公告;还有一种公告广播方式是采用短信群发的形式,即通过移动电话网络向具有移动电话的用户进行有目标的广泛性的短信发送。第一种方式的缺点是不具有实时性,用户不能及时地获取到重要公告,如果通过这种方式公告重大自然灾害预警,显然不是最优的;第二种方式的缺点是成本太高,需要具备一个短信平台,要向移动运营商上交大额资金。
技术实现要素:
鉴于上述现有技术存在的缺陷,本发明的目的就是提出一种基于云计算的公告推算方法,通过云端服务器实时管理移动终端的连接状态以及向移动终端推送公告,具有推送效率高,成本低的优点。
本发明的目的,将通过以下技术方案得以实现:一种基于云计算的公告推送方法,包括如下步骤,
s1,移动终端与云端服务器建立长期连接,宣告本移动终端上线;
s2,云端服务器获取在线移动终端的终端信息,并将终端信息解析成可识别的服务,云端服务器通过会话管理模块与一个在线移动终端的发起会话;
s3,云端服务器通过会话管理模块向该移动终端发送公告推送请求;
s4,移动终端收到公告推送请求后,解析接收到的公告推送请求,根据解析的结果从本终端的服务描述中查找验证该次公告推送请求是否有效,并向云端服务器返回请求结果;
s5,云端服务器接收到移动终端返回的调用结果后,将调用结果记录在云端服务器上,以备查询。
本发明进一步限定的技术方案是:步骤s1前,移动终端记录自身的终端信息,并将终端信息标识发送到云端服务器,云端服务器接收到终端属性标识后,存储在云端服务器。
作为本发明的进一步改进,进一步的,信息标识为终端的mac地址及终端硬件信息。
作为本发明的进一步改进,进一步的,公告推送请求包括调用来源标识、调用目标标识、调用标识、调用的名称、调用的输入参数,公告推送请求采用xml格式封装;步骤s4中,若该次公告推送请求有效,则根据调用的名称及输入参数去执行,将正确的请求结果返回,若该次公告推送请求无效,则将错误的请求结果返回。
作为本发明的进一步改进,进一步的,会话管理模块的信息传输采用tcp协议和udp协议。
本发明还提供一种于云计算的公告推送系统,包括,
连接上线单元,用于移动终端与云端服务器建立长期连接,宣告本移动终端上线;
解析会话单元,用于云端服务器获取在线移动终端的终端信息,并将终端信息解析成可识别的服务,云端服务器通过会话管理模块与一个在线移动终端的会话发起;
请求发送单元,用于云端服务器通过会话管理模块向该移动终端发送公告推送请求;
查找验证单元,用于移动终端收到公告推送请求后,解析接收到的公告推送请求,根据解析的结果从本终端的服务描述中查找验证该次公告推送请求是否有效,并向云端服务器返回请求结果;
记录存储单元,用于云端服务器接收到移动终端返回的调用结果后,将调用结果记录在云端服务器上,以备查询。
作为本发明的进一步改进,进一步的,连接上线单元的移动终端上线前,移动终端记录自身的终端信息,并将终端信息标识发送到云端服务器,云端服务器接收到终端属性标识后,存储在云端服务器。
本发明的突出效果为:本方法通过云端服务器实时地向移动终端推送所发布的公告,具有推送效率高、成本低的优点。
附图说明
图1为本发明的方法流程图;
图2为本发明的方法操作流程框图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
参阅图1与图2本发明的一种基于云计算的公告推送方法,包括如下步骤,
s1,移动终端与云端服务器建立长期连接,宣告本移动终端上线;
s2,云端服务器获取在线移动终端的终端信息,并将终端信息解析成可识别的服务,云端服务器通过会话管理模块与一个在线移动终端的发起会话;
s3,云端服务器通过会话管理模块向该移动终端发送公告推送请求;
s4,移动终端收到公告推送请求后,解析接收到的公告推送请求,根据解析的结果从本终端的服务描述中查找验证该次公告推送请求是否有效,并向云端服务器返回请求结果;
s5,云端服务器接收到移动终端返回的调用结果后,将调用结果记录在云端服务器上,以备查询。
以下将对上述步骤s1~s3中的操作规则、方式等进行详细说明。
步骤s1前,移动终端记录自身的终端信息,并将终端信息标识发送到云端服务器,云端服务器接收到终端属性标识后,存储在云端服务器。信息标识为终端的mac地址及终端硬件信息,特别地,为了体现个性化定制,会记录移动终端的型号和操作系统等基本硬件信息。
公告推送请求包括调用来源标识、调用目标标识、调用标识、调用的名称、调用的输入参数,公告推送请求采用xml格式封装步骤s4中,若该次公告推送请求有效,则根据调用的名称及输入参数去执行,将正确的请求结果返回,若该次公告推送请求无效,则将错误的请求结果返回。
会话管理模块的信息传输采用tcp协议和udp协议。
云端服务器是指,连接到互联网上的,并且具有公共ip地址的计算机服务器。一般来说,其性能要高于普通的个人计算机。
会话管理模块是指,云端服务器与移动终端之间的会话,由该模块管理。
本实施例还提供一种云计算的公告推送系统,包括,
连接上线单元,用于移动终端与云端服务器建立长期连接,宣告本移动终端上线;
解析会话单元,用于云端服务器获取在线移动终端的终端信息,并将终端信息解析成可识别的服务,云端服务器通过会话管理模块与一个在线移动终端的会话发起;
请求发送单元,用于云端服务器通过会话管理模块向该移动终端发送公告推送请求;
查找验证单元,用于移动终端收到公告推送请求后,解析接收到的公告推送请求,根据解析的结果从本终端的服务描述中查找验证该次公告推送请求是否有效,并向云端服务器返回请求结果;
记录存储单元,用于云端服务器接收到移动终端返回的调用结果后,将调用结果记录在云端服务器上,以备查询。
作为本发明的进一步改进,进一步的,连接上线单元的移动终端上线前,移动终端记录自身的终端信息,并将终端信息标识发送到云端服务器,云端服务器接收到终端属性标识后,存储在云端服务器。
本实施例推送的公告与数据格式如下:
<message
from=’来源标识’
to=’目标标识’
type=’push’>
<body>公告内容</body>
<activexmlns='http://jabber.org/protocol/chatstates'/>
</message>
其中最外层message是指标准的xmpp消息节,type表示服务调用类型。
例如:客户端接收到的推送消息内容如下:
<message
from=’山东监控处’
to=’客户端1234’
type=’push’>
<body>get_status:client_1234</body>
<activexmlns='http://jabber.org/protocol/chatstates'/>
</message>
消息内容是以xml格式封装,按照xml解析的方式,解析出每个字段的内容如下:
来源:山东监控处
目标:客户端1234
类型:push
内容:get_status:_client1234
意即需要获取客户端1234的当前状态,客户端根据自己的方式(不在本发明之内)去获取其实时状态,返回给推送来源,返回的消息也是以xml格式封装,封装方式如下:
<message
from=客户端1234’
to=’山东监控处’
type=’push’>
<body>get_status:client_1234_当前状态:运行正常</body>
<activexmlns='http://jabber.org/protocol/chatstates'/>
</message>
本实施例通过云端服务器实时地向移动终端推送所发布的公告,具有推送效率高、成本低的优点。
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。