基于jms规范的网站威胁信息采集技术的制作方法

文档序号:7945335阅读:269来源:国知局
专利名称:基于jms规范的网站威胁信息采集技术的制作方法
技术领域
本发明涉及一种基于JMS规范的网站威胁信息采集技术,即 InforGuard监管平台基于JMS规范的网站威胁信息采集技术。
背景技术
目前,网站架设技术已经非常成熟,企业、单位、政府等越来越 多的建立了自己的网站,并在网站上发布信息、新闻、政策等,网站 曰益成为人们日常生活中非常重要的部分。随着网站数量的增多、重 要性的增加,网站遭受的威胁也随之增长,网站的安全性越来越受到 重视。
采集和分析这些威胁信息可以有效的提高网站的安全性。信息采 集时其中非常重要的一环,信息采集是指根据特定目的和要求,将分 散蕴涵在不同时空域的有关信息采掘和积聚起来的过程。传统的信,色 采集系统使用的消息传输协议如C0RBA、 C0M/DC0M、 RMI、 Socket等,
由于没有表现出与防火墙的友好性和易用性,使得传输的消息只能局 限于局域网中,不支持广域网的信息传送,有很大的局限性。
此外,如何提高应用集成的消息传输效率,即提高消息收集、收集 的消息传输效率、信息的可靠性和真实性也显得尤为迫切。

发明内容
本发明的目的就是针对上述的不足,提供了一种基于JMS规范的 网站威胁信息采集技术,它屏蔽不同的硬件平台、网络通信协议、操 作系统、数据库、消息格式之间的鸿沟与差异,实现应用集成所必须 的信息的递送、收集、翻译、过滤、映射和路由等功能,提供应用到 应用之间的高效、便捷的消息传输和通信功能,能保证信息的真实性 和可靠性。
本发明提供了一种基于JMS规范的网站威胁信息釆集技术,包括 浏览器、系统时钟、SP消息服务和SP消息代理,包括如下步骤手 动同步数据、定时同步数据和消息代理发送消息。
手动同步数据包括如下步骤
首先,在浏览器中执行手动同步操作,给SP消息服务发送信息同 步请求,然后SP消息服务接收到请求后给SP消息代理发送请求,SP 消息代理进行数据采集,然后给SP消息服务返回上述采集的数据,SP 消息服务进行信息的分析、合并等处理,保存并在浏览器中展示同步结果。
定时同步数据包括如下步骤
首先定时器发送信息同步请求给SP消息服务,SP消息服务再将 同步请求发送给SP消息代理,SP消息代理获取到信息后给SP消息服 务返回数据,数据经过SP消息服务处理后保存。
消息代理发送消息包括如下步骤
SP消息代理给SP消息服务主动发送采集到的数据,SP消息服务 经过数据处理后保存。
如上所述,本发明将JMS规范应用于网站威胁信息采集技术,是
容易实现的。它提供了被多种编程语言调用的机制,应用范围更加广 阔。实现了跨防火墙和跨域的信息采集,提高了信息采集的宽度,使 信息采集没有限制。使用事件监听机制实现了及时的信息采集。采用 友好的用户接口 ,调用信息采集方法可以主动获取远程系统的信息。 消息采集失败重试和失败存储解决了消息发采集的可靠性。定时器与 JMS的结合使用完成了计划采集信息。
综上所述,本发明提供的基于顶S规范的网站威胁信息采集技术 具有如下优点使用事件监听机制,实现了及时的信息采集;信息发 送失败以及数据持久化实现了数据的可靠性;发送的信息及时对信息 内容进行加密,保证了信息的真实性与安全性;采集的信息是针对网 站威胁的信息;定时器定时采集数据,实现了信息采集的计划性;JMS 规范规定必须数据接收不到的情况下重发数据和对数据进行持久化。


图l为本发明实施例的流程图。
具体实施例方式
下面将对本发明的实施方式进行详细i兌明。
一种基于JMS规范的网站威胁信息采集技术,如图l所示,包括 浏览器、系统时钟、SP消息服务和SP消息代理,包括如下步骤手 动同步数据、定时同步数据和消息代理发送消息。
手动同步数据是这样实现的
首先,在浏览器中执行手动同步操作,给SP消息服务发送信息同 步请求,然后SP消息服务接收到请求后给SP消息代理发送请求,SP 消息代理进行数据采集,然后给SP消息服务返回上述采集的数据,SP 消息服务进行信息的分析、合并等处理,保存并在浏览器中展示同步 结果。手动同步数据数据采集其实现可以如下 public class MessageMan {
/承承
* IB服务管理对象 承/
private IBServiceMan m_ibServiceMan; /科
*私有构造函数
* @throws EXP一Base 氺/
public MessageMan (String commuAdd) throws EXP—Base { try {
m—ibServiceMan = IBServiceMan. geti"/ "a/ ce(commuAdd, false); m—ibServiceMan. createTemporaryQueueConsumer () ;// 创建临时队
列消费者
m—ibServiceMan. createQueueProducer ("GUARD. REQUEST. FROMSP") ;//创建 队列生产者
m—ibServiceMan.startIBServer(); } catch (JMSException e) {
throw new EXP—JmsConnection(
ExceptionMessage.贝C證^T77(9認JC^OT證^S"S"雄,e);
/科
求停止broker连接 *
承@throws EXP—JmsConnection 承/
public void stop() throws EXP一JmsConnectiontry {
m—ibServiceMan.stopIBService(false); } catch (JMSException e) {
throw new EXP—JmsConnection(
ExceptionMessage.贝CO層6T層5M7T層愿5"流,e);
/*承
. *发送异步消息 氺
* @param message0bject
* 消息包含的对象
* return请求唯一标识
* throws EXP—Base
* 抛出异常
public String sendAsynMessage(CB—SPMessage message0bject) throws EXP—Base { try {
ObjectMessage message = m—ibServiceMan.getSession()
.createObjectMessage0 ; message. setObject(raessageObject);
message.setJMSReplyTo(m—ibServiceMan. getTempQueue ()); FutureResponse future = new FutureResponse0 ; m一ibServiceMan. getQueueProducer 0 . send (message) : // 发送消息 ReplyListener. 3c/o7 e( uest6^j'e"(message, get JMSMessageID (), future);〃把请求信息添加到请求Map中
return message.getJMSMessageID(); } catch (JMSException e) {
throw new EXP—MessageTransmission(
ExceptionMessage.艦雄履廳淑尸7Y歸柳備,e);/承承
*发送同步消息
* @param messageObject
* 消息包含的对象
* return返回的信息对象
氺@throws EXP Base
抛出异常
承/
public CB_SPMessage sendSynMessage(CB—SPMessage messageObject) throws EXP—Base { String correlationld = this. sendAsynMessage(messageObject); int i = 0;
while (this. getReplyState(correlationld)) {
try {
Thread, s7e印(1000); if (i > 40) {
throw new EXP—MessageTransmission(
Exc印tionMessage.愿藩仰,77廳ir^7T層愿5"/!^);
i++ ;
catch (InterruptedException e) { throw new EXP_MessageTransmission(
ExceptionMessage.愿5"膨( 隨r/脏脏/T層膨5"5"赢'
/承承
*等待响应*
* @param correlationid
* 请求唯一标识 氺/
public boolean getR印lyState (String correlationid) {
if (ReplyListener. gez^e( i/e"(96j'e"(correlationld) != null) {
return ! ReplyListener. get_/ e< f/e"6^j'e"(correlationId). isSign (); } else {
return false;
/氺承
*获得返回的信息对象 承
* @param correlationid
* 请求唯一标识
* @return返回的信息对象
* throws EXP—Base
* 抛出异常
public CB—SPMessage getR印ly (String correlationid) throws EXP—Base { try {
if (ReplyListener. gez^e we"6^Je"(correlationld) != null && (0bjectMessage) ReplyListener. gety egue"(96j'e"( correlationid). getMessage O null) { CB一SPMessage object = (CB—SPMessage) ((0bjectMessage) ReplyLi stener
gety e卯e"O/ j'e"(correlationld). getMessage ())
.get0b ject (); ReplyListener. re历0^ 6^i/e5Z:加j'e"(correlati on Id); return object; } else {return null;
} catch (Exception e) {
throw new EXP—MessageTransmission(
ExceptionMessage.腐雄麼尸UC〃麵縱雄,e);
定时同步数据包括如下步骤
首先定时器发送信息同步请求给SP消息服务,SP消息服务再将 同步请求发送给SP消息代理,SP消息代理获取到信息后给SP消息服 务返回数据,数据经过SP消息服务处理后保存。
定时同步数据其实现可以如下 public class SynchronizeMCTask extends TimerTask {
/*承
*管理中心管理实例 承/
private IMcMan mcMan; /承氺
*日志对象 承/
private static final Log = LogFactory. geZ:Zog(SynchronizeMCTask. class);
/承求
*构造函数 氺
* @param mcMan
* 管理中心管理实例 水/
public SynchronizeMCTask(IMcMan mcMan) { this』cMan = racMan;承 (rion-JaLVEidoc)
*
* @see java. uti1. TimerTaskHrun() 尔/
public void run() { try {
System, oi/t. println ("-------调用SynchronizeMCTask的run 0方法
-一");
mcMan. timeSynchronizeMC (); } catch (Exception e) { Zerror ("", e);
消息代理发送消息包括如下步骤
SP消息代理给SP消息服务主动发送采集到的数据,SP消息服务 经过数据处理后保存。
消息代理发送消息可以是这样实现的 public void sendMessage (CB—SPMessage meessage) throws EXP—Base { try {
0bjectMessage message 二 ibServiceMan. getSession()
.createObjectMessage0 ; message. setObject(meessage);
m—ibServiceMan. getTopicProducer (). send (message) ; // 发送消息 } catch (JMSException e) {
throw new EXP—JmsConnection(
ExceptionMessage.贝C,釘層認釘層愿S感,e);
上述SP消息服务进行数据处理如下 public void onMessage(Message message) {
if (message != null && message instanceof 0bjectMessage) { try {if ("testSPIB".equals(((CB—SPMessage) ((ObjectMessage)
message)
getObject()). getMessageType())〉(〃若是MC发来的 测试IB连接的消息,则什么也不做
System, out. print In (〃MC测试与SP通讯是否正常〃); } else {
//将管理对象封装成Map表
Map<String, IMOMan〉 objectMan = new HashMap<String,
objectMan
.put (ServiceLocator. ,C卿丄歸腐'
m—synchroLogMan);
objectMan. put (ServiceLocator.,組層Z歸,,
m—operationLogMan); objectMan.put(ServiceLocator.
m—systemLogMan) m—tamperLogMan)
objectMan.put (ServiceLocator.
objectMan.put(ServiceLocator. objectMan.put (ServiceLocator. objectMan.put(ServiceLocator.
丽尸繩OG廳,
#細卿ra一racMan); 膨7¥細卿ra一hostMan〉 腳SiT腦艦欣,
m—websiteMan)
使用责任链模式
/承
*处理mc发送过来的同步数据, 率/
IMessageHandle hostMessageHandle = new HostMessageHandleI即l 0 ;
// System, out. println("SP收至U消息了 !"); hostMessageHandle. handleMessage(message, objectMan);
} catch (JMSException e) {
ZO". error ("", e); } catch (Interr叩tedException e) { error ("", e);<formula>formula see original document page 12</formula>
权利要求
1. 一种基于JMS规范的网站威胁信息采集技术,包括浏览器、系统时钟、SP消息服务和SP消息代理,其特征在于包括如下步骤手动同步数据、定时同步数据和消息代理发送消息,其中,手动同步数据包括如下步骤首先,在浏览器中执行手动同步操作,给SP消息服务发送信息同步请求,然后SP消息服务接收到请求后给SP消息代理发送请求,SP消息代理进行数据采集,然后给SP消息服务返回上述采集的数据,SP消息服务进行信息处理,保存并在浏览器中展示同步结果;定时同步数据包括如下步骤首先定时器发送信息同步请求给SP消息服务,SP消息服务再将同步请求发送给SP消息代理,SP消息代理获取到信息后给SP消息服务返回数据,数据经过SP消息服务处理后保存;消息代理发送消息包括如下步骤SP消息代理给SP消息服务主动发送采集到的数据,SP消息服务经过数据处理后保存。
全文摘要
一种基于JMS规范的网站威胁信息采集技术,即InforGuard监管平台基于JMS规范的网站威胁信息采集技术。它包括浏览器、系统时钟、SP消息服务和SP消息代理,包括如下步骤手动同步数据、定时同步数据和消息代理发送消息。本发明具有如下优点它屏蔽不同的硬件平台、网络通信协议、操作系统、数据库、消息格式之间的鸿沟与差异,实现应用集成所必需的信息的递送、收集、翻译、过滤、映射和路由等功能,提供应用到应用之间的高效、便捷的消息传输和通信能力,保证了信息的真实性,可靠性。
文档编号H04L29/06GK101546330SQ20091001510
公开日2009年9月30日 申请日期2009年5月7日 优先权日2009年5月7日
发明者春 刘, 鹏 刘, 刘宗福, 黄三伟 申请人:山东中创软件商用中间件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1