CN101771686A - 一种通信方法和网络适配器 - Google Patents
一种通信方法和网络适配器 Download PDFInfo
- Publication number
- CN101771686A CN101771686A CN200910239529A CN200910239529A CN101771686A CN 101771686 A CN101771686 A CN 101771686A CN 200910239529 A CN200910239529 A CN 200910239529A CN 200910239529 A CN200910239529 A CN 200910239529A CN 101771686 A CN101771686 A CN 101771686A
- Authority
- CN
- China
- Prior art keywords
- network address
- blacklist
- send
- purpose network
- packet
- 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.)
- Granted
Links
Images
Abstract
本发明涉及网络通信技术,针对现有消息传送方式易因异常网元而导致通信模块和应用层阻塞等缺陷,提供一种通信方法和网络适配器。通信方法包括发送预处理步骤,包括从待发送数据包中提取目的网络地址;判断该目的网络地址是否包含在黑名单中,若是,则发出发送失败提示,并更新黑名单中该目的网络地址的优先级。本发明还提供了一种网络适配器。本发明提供的技术方案将无法到达的网元列入黑名单。本发明提供的技术方案对面向黑名单中网元的消息发送请求直接返回失败提示,从而实现对异常网元的隔离,避免因这些发送请求而尝试与异常网元建立连接,降低对通信模块资源的占用,同时及时向应用层返回失败指示,降低应用层阻塞。
Description
技术领域
本发明涉及网络通信技术,更具体地说,涉及一种通信方法和网络适配器。
背景技术
现有应用系统在通过socket向外部网元发送消息时,一般都会定义一个接口层,并通过专门的通信模块来与外部网元进行交互。当应用系统需要同时向多个外部网元发送消息时,同样由该通信模块承担发送任务。每次收到来自应用层的发送请求,通信模块都会跟目的网元建立连接,但在发送消息之前不会预先判断该网元是否可以到达。
对于一个实时性要求较高的应用系统来说,上文所述的消息发送方式在某个外部网元出现异常时,往往会出现问题,例如:
1、针对面向异常网元的每一消息发送请求,通信模块都会尝试与该网元建立连接。一般来说,尝试建立连接的过程非常耗时,并且大量占用通信模块的资源,从而导致面向其他外部网元的消息发送请求无法及时得到处理,在通信模块中造成阻塞;
2、由于尝试建立连接的过程非常耗时,导致在向应用层应答时经常出现较长的延迟甚至超时,因此造成应用层阻塞;
3、在外部网元出现异常的情况下仍然频繁向该网元发起连接请求,必然导致该网元过负荷,给外部网元的恢复带来不良影响;
4、当外部网元恢复正常时,只能在向该网元发送消息时才能检测到,无法预先确定该网元的状态。
因此,需要一种通信解决方案,能够有效克服现有消息传送方法中存在的上述缺陷。
发明内容
本发明要解决的技术问题在于,针对现有消息传送方式易因异常网元而导致通信模块和应用层阻塞等缺陷,提供一种通信方法和网络适配器。
本发明解决其技术问题所采用的技术方案是:
构造一种通信方法,包括:
发送预处理步骤,包括:
从待发送数据包中提取目的网络地址;
判断该目的网络地址是否包含在黑名单中,若是,则发出发送失败提示,并更新黑名单中该目的网络地址的优先级。
在本发明提供的通信方法中,所述发送预处理步骤还包括,若判定所述目的网络地址未包含在所述黑名单中,则依据该目的网络地址发送所述数据包。
在本发明提供的通信方法中,在依据该目的网络地址发送该数据包时,所述发送预处理步骤还包括,在连续发送失败的次数达到预先设置的阈值时,将所述目的网络地址添加到所述黑名单中。
在本发明提供的通信方法中,还包括恢复步骤,包括依照优先级由高到低的顺序依次对黑名单中的每一网络地址执行连接操作,该连接操作包括:
S1、依据生成时间计算作为操作目标的网络地址在黑名单中的停留时间;
S2、判断该停留时间是否超过预先设置的停留阈值,若是,则将该网络地址从黑名单中删除,若否,则在判定该网络地址可到达时将该网络地址从黑名单中删除。
在本发明提供的通信方法中,所述黑名单通过共享内存存储。
本发明还提供了一种网络适配器,包括:
发送预处理模块,用于执行如下操作:
从待发送数据包中提取目的网络地址;
判断该目的网络地址是否包含在黑名单中,若是,则发出发送失败提示,并更新黑名单中该目的网络地址的优先级。
在本发明提供的网络适配器中,还包括收发模块,所述发送预处理模块还用于在判定所述目的网络地址未包含在所述黑名单中时,通过所述收发模块依据该目的网络地址发送所述数据包。
在本发明提供的网络适配器中,在依据该目的网络地址发送该数据包时,所述发送预处理模块还用于,在连续发送失败的次数达到预先设置的阈值时,将所述目的网络地址添加到所述黑名单中。
在本发明提供的网络适配器中,还包括恢复模块,用于依照优先级由高到低的顺序依次对黑名单中的每一网络地址执行连接操作,该连接操作包括:
S1、依据生成时间计算作为操作目标的网络地址在黑名单中的停留时间;
S2、判断该停留时间是否超过预先设置的停留阈值,若是,则将该网络地址从黑名单中删除,若否,则在判定该网络地址可到达时将该网络地址从黑名单中删除。
在本发明提供的网络适配器中,所述黑名单通过共享内存存储。
实施本发明的技术方案,具有以下有益效果:本发明提供的通信方法和网络适配器将无法到达的网元列入黑名单。在这种情况下,本发明提供的技术方案对面向黑名单中网元的消息发送请求采用特别方式进行处理,即直接返回失败提示,从而实现对异常网元的隔离,避免因这些发送请求而尝试与异常网元建立连接,降低对通信模块资源的占用,同时及时向应用层返回失败指示,降低应用层阻塞。由于面向异常网元的消息发送请求提前被拦截,因此不会向异常网元发送消息,从而降低对异常网元造成的负担,加快异常网元的恢复。此外,本发明提供的技术方案易于实现,成本低廉。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是依据本发明一较佳实施例的通信方法发送预处理步骤的流程图;
图2是依据本发明一较佳实施例的连接操作的流程图;
图3是依据本发明一较佳实施例的网络适配器的逻辑结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种通信方法和网络适配器,将无法到达的网元列入黑名单。在这种情况下,本发明提供的技术方案对面向黑名单中网元的消息发送请求采用特别方式进行处理,即直接返回失败提示,从而实现对异常网元的隔离,避免因这些发送请求而尝试与异常网元建立连接,降低对通信模块资源的占用,同时及时向应用层返回失败指示,降低应用层阻塞。由于面向异常网元的消息发送请求提前被拦截,因此不会向异常网元发送消息,从而降低对异常网元造成的负担,加快异常网元的恢复。此外,本发明提供的技术方案易于实现,成本低廉。下面就结合附图和具体实施例来对本发明提供的技术方案进行详细描述。
本发明提供了一种通信方法,其包括发送预处理步骤和恢复步骤。下面分别结合图1和图2对这两个步骤进行详细描述。
图1是依据本发明一较佳实施例的通信方法发送预处理步骤100的流程图。如图1所示,预处理步骤100开始于步骤102。
随后,在下一步骤104,从待发送数据包中提取目的网络地址。
随后,在下一步骤106,判断提取的目的网络地址是否包含在黑名单中,若是,则转到步骤108,否则转到步骤110。
如上文所述,若在步骤106判定提取的目的网络地址包含在黑名单中,则转到步骤108,发出发送失败提示,拦截该数据包,然后转到步骤112。
在具体实现过程中,在步骤108中将向发出该数据包的应用层应用发出失败提示,以作为对该应用层应用请求发送该数据包的应答,从而降低应用层阻塞。此外,通过拦截该数据包,便可阻止向异常网元发出该数据包,从而实现对异常网元的隔离,避免因发送该数据包的请求而尝试与异常网元建立连接,降低对通信模块资源的占用。由于面向异常网元的消息发送请求提前被拦截,因此不会向异常网元发送消息,从而避免对异常网元造成负担,加快异常网元的恢复。
在具体实现过程中,黑名单通过共享内存方式存储,从而实现在进程间共享该黑名单。
随后,在下一步骤112,更新黑名单中该目的网络地址的优先级,然后转到步骤114。有关优先级的技术内容将在下文进行详细描述。
如上文所述,若在步骤106判定提取的目的网络地址未包含在黑名单中,则转到步骤110,依据提取的目的网络地址发送上述数据包,然后转到步骤114。
若目的网络地址未包含在黑名单中,则说明该网络地址此前一直处于可到达状态。然而,若该网络地址对应的外部网元刚刚出现异常,导致该网络地址刚刚由可到达状态转为不可到达状态,则可能导致消息发送失败。在这种情况下,在连续发送失败的次数达到预先设置的阈值时,预处理步骤100便会将该目的网络地址添加到黑名单中。
最后,发送预处理步骤100结束于步骤114。
本发明提供的通信方法还包括一恢复步骤,包括依照优先级由高到低的顺序依次对黑名单中的每一网络地址执行连接操作。其中,优先级反映了该网络地址的重要性,例如该网络地址的频繁访问程度,优先级越高,对该网络地址的访问越频繁。如上文所述,在发送预处理步骤100的步骤112中,将更新黑名单中该目的网络地址的优先级,包括增加该优先级的值,以反映该网络地址访问量的增加,从而从侧面增加该网络地址的重要性。在恢复步骤中,对黑名单中访问程度越频繁的网络地址,越早进行连接操作,以尽早发现该网络地址从不可到达状态恢复到可到达状态,以便将该网络地址从黑名单中移出,解除对该网络地址的隔离。下面结合图2对该连接操作进行详细描述。
图2是依据本发明一较佳实施例的连接操作200的流程图。如图2所示,连接操作200开始于步骤202。
随后,在下一步骤204,依据生成时间计算作为操作目标的网络地址在黑名单中的停留时间。
在具体实现过程中,所述生成时间即为该网络地址进入黑名单的时间,所述停留时间即为从生成时间开始该网络地址在黑名单中的停留时间。
随后,在下一步骤206,判断该停留时间是否超过预先设置的停留阈值,若是,则转到步骤208,否则转到步骤210。
如上文所述,若在步骤206判定停留时间超过预先设置的停留阈值,则将转到步骤208,将该网络地址从黑名单中删除,然后转到步骤212。
在具体实现过程中,停留时间越长,外部网元从异常状态恢复的可能性越大,因此,可在停留时间超过预先设置的停留阈值时,认定该网络地址可到达,从而将其从黑名单中移出。
如上文所述,若在步骤206判定停留时间未超过预先设置的停留阈值,则将转到步骤210,判断该网络地址是否可到达,若是,则转到步骤208,否则转到步骤212。
在具体实现过程中,黑名单中除了记录不可到达的网络地址外,还记录了每一网络地址的侦听端口。在判断某一网络地址是否可到达时,可根据该网络地址和该侦听端口进行socket连接,若连接成功,则说明该网络地址可到达,否则说明该网络地址不可到达。
最后,连接操作200结束于步骤212。
在具体实现过程中,在上述恢复步骤中,上述连接操作可依照预先设置的时间间隔来进行定期执行。
在具体实现过程中,上文所述的优先级和连接操作的时间间隔可手动进行设置。
本发明还提供了一种网络适配器,下面就结合图3对其进行详细描述。
图3是依据本发明一较佳实施例的网络适配器300的逻辑结构示意图。如图3所示,网络适配器300包括发送预处理模块302、收发模块304和恢复模块306。
发送预处理模块302用于执行如下操作:
从待发送数据包中提取目的网络地址;
判断该目的网络地址是否包含在黑名单中,若是,则发出发送失败提示,并更新黑名单中该目的网络地址的优先级。
在具体实现过程中,本发明提供的网络适配器300还包括收发模块304,发送预处理模块302还用于在判定目的网络地址未包含在所述黑名单中时,通过收发模块304依据该目的网络地址发送所述数据包。有关收发模块304的相关技术内容已经在现有技术中做了清楚的描述,因此此处不再赘述。
在依据该目的网络地址通过收发模块304发送该数据包时,发送预处理模块302还用于在连续发送失败的次数达到预先设置的阈值时,将目的网络地址添加到黑名单中。
在具体实现过程中,发送预处理模块302所执行的操作与上文描述的发送预处理步骤相同。
恢复模块306用于依照优先级由高到低的顺序依次对黑名单中的每一网络地址执行连接操作,该连接操作包括:
S1、依据生成时间计算作为操作目标的网络地址在黑名单中的停留时间;
S2、判断该停留时间是否超过预先设置的停留阈值,若是,则将该网络地址从黑名单中删除,若否,则在判定该网络地址可到达时将该网络地址从黑名单中删除。
在具体实现过程中,恢复模块306所执行的操作与上文描述的恢复步骤相同。
在具体实现过程中,本发明提供的技术方案可采用插件化方式提供,为应用层提供了简洁的调用接口,应用系统的通讯模块可以在完全不影响原有逻辑的情况集成本组件功能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种通信方法,其特征在于,包括:
发送预处理步骤,包括:
从待发送数据包中提取目的网络地址;
判断该目的网络地址是否包含在黑名单中,若是,则发出发送失败提示,并更新黑名单中该目的网络地址的优先级。
2.根据权利要求1所述的通信方法,其特征在于,所述发送预处理步骤还包括,若判定所述目的网络地址未包含在所述黑名单中,则依据该目的网络地址发送所述数据包。
3.根据权利要求2所述的通信方法,其特征在于,在依据该目的网络地址发送该数据包时,所述发送预处理步骤还包括,在连续发送失败的次数达到预先设置的阈值时,将所述目的网络地址添加到所述黑名单中。
4.根据权利要求3所述的通信方法,其特征在于,还包括恢复步骤,包括依照优先级由高到低的顺序依次对黑名单中的每一网络地址执行连接操作,该连接操作包括:
S1、依据生成时间计算作为操作目标的网络地址在黑名单中的停留时间;
S2、判断该停留时间是否超过预先设置的停留阈值,若是,则将该网络地址从黑名单中删除,若否,则在判定该网络地址可到达时将该网络地址从黑名单中删除。
5.根据权利要求4所述的通信方法,其特征在于,所述黑名单通过共享内存存储。
6.一种网络适配器,其特征在于,包括:
发送预处理模块,用于执行如下操作:
从待发送数据包中提取目的网络地址;
判断该目的网络地址是否包含在黑名单中,若是,则发出发送失败提示,并更新黑名单中该目的网络地址的优先级。
7.根据权利要求6所述的网络适配器,其特征在于,还包括收发模块,所述发送预处理模块还用于在判定所述目的网络地址未包含在所述黑名单中时,通过所述收发模块依据该目的网络地址发送所述数据包。
8.根据权利要求7所述的网络适配器,其特征在于,在依据该目的网络地址发送该数据包时,所述发送预处理模块还用于,在连续发送失败的次数达到预先设置的阈值时,将所述目的网络地址添加到所述黑名单中。
9.根据权利要求8所述的网络适配器,其特征在于,还包括恢复模块,用于依照优先级由高到低的顺序依次对黑名单中的每一网络地址执行连接操作,该连接操作包括:
S1、依据生成时间计算作为操作目标的网络地址在黑名单中的停留时间;
S2、判断该停留时间是否超过预先设置的停留阈值,若是,则将该网络地址从黑名单中删除,若否,则在判定该网络地址可到达时将该网络地址从黑名单中删除。
10.根据权利要求9所述的网络适配器,其特征在于,所述黑名单通过共享内存存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910239529 CN101771686B (zh) | 2009-12-31 | 2009-12-31 | 一种通信方法和网络适配器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910239529 CN101771686B (zh) | 2009-12-31 | 2009-12-31 | 一种通信方法和网络适配器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101771686A true CN101771686A (zh) | 2010-07-07 |
CN101771686B CN101771686B (zh) | 2012-10-10 |
Family
ID=42504280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910239529 Expired - Fee Related CN101771686B (zh) | 2009-12-31 | 2009-12-31 | 一种通信方法和网络适配器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101771686B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984692A (zh) * | 2010-11-15 | 2011-03-09 | 中兴通讯股份有限公司 | 一种防止恶意软件发送数据的方法及装置 |
GB2494136A (en) * | 2011-08-30 | 2013-03-06 | Metaswitch Networks Ltd | Processing requests in a telecommunications network |
CN103218552A (zh) * | 2012-01-19 | 2013-07-24 | 华为终端有限公司 | 基于用户行为的安全管理方法及装置 |
CN104994173A (zh) * | 2015-07-16 | 2015-10-21 | 浪潮(北京)电子信息产业有限公司 | 一种消息处理方法和系统 |
CN112751743A (zh) * | 2019-10-30 | 2021-05-04 | 北京车和家信息技术有限公司 | 消息发送异常的处理方法、消息发送装置和电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9083712B2 (en) * | 2007-04-04 | 2015-07-14 | Sri International | Method and apparatus for generating highly predictive blacklists |
CN101035098A (zh) * | 2007-04-24 | 2007-09-12 | 北京网秦天下科技有限公司 | 基于质询的移动终端拒绝接收垃圾邮件的方法 |
CN101170829B (zh) * | 2007-11-27 | 2010-09-29 | 中兴通讯股份有限公司 | 一种使用黑白名单进行呼叫限制的软交换系统及方法 |
CN101296182A (zh) * | 2008-05-20 | 2008-10-29 | 华为技术有限公司 | 一种数据传输控制方法以及数据传输控制装置 |
-
2009
- 2009-12-31 CN CN 200910239529 patent/CN101771686B/zh not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984692A (zh) * | 2010-11-15 | 2011-03-09 | 中兴通讯股份有限公司 | 一种防止恶意软件发送数据的方法及装置 |
WO2012065381A1 (zh) * | 2010-11-15 | 2012-05-24 | 中兴通讯股份有限公司 | 一种防止恶意软件发送数据的方法及装置 |
CN101984692B (zh) * | 2010-11-15 | 2017-07-28 | 中兴通讯股份有限公司 | 一种防止恶意软件发送数据的方法及装置 |
GB2494136A (en) * | 2011-08-30 | 2013-03-06 | Metaswitch Networks Ltd | Processing requests in a telecommunications network |
US9716655B2 (en) | 2011-08-30 | 2017-07-25 | Metaswitch Networks Ltd | Processing requests |
GB2494136B (en) * | 2011-08-30 | 2018-07-11 | Metaswitch Networks Ltd | Processing requests |
CN103218552A (zh) * | 2012-01-19 | 2013-07-24 | 华为终端有限公司 | 基于用户行为的安全管理方法及装置 |
CN103218552B (zh) * | 2012-01-19 | 2016-01-20 | 华为终端有限公司 | 基于用户行为的安全管理方法及装置 |
CN104994173A (zh) * | 2015-07-16 | 2015-10-21 | 浪潮(北京)电子信息产业有限公司 | 一种消息处理方法和系统 |
CN112751743A (zh) * | 2019-10-30 | 2021-05-04 | 北京车和家信息技术有限公司 | 消息发送异常的处理方法、消息发送装置和电子设备 |
CN112751743B (zh) * | 2019-10-30 | 2023-04-28 | 北京车和家信息技术有限公司 | 消息发送异常的处理方法、消息发送装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101771686B (zh) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101877604B (zh) | 一种传输文件的方法及系统 | |
CN101771686B (zh) | 一种通信方法和网络适配器 | |
CN103957155B (zh) | 报文传输方法、装置及互联接口 | |
CN101826984A (zh) | 日志信息处理方法及装置 | |
CN105933162B (zh) | 基于t型结构的低时延以太网转发器及方法 | |
CN101360005B (zh) | 负载平衡的联网环境下的智能故障转移 | |
CN101425977A (zh) | 一种空地数据通信控制系统 | |
US8792350B2 (en) | Network relay system, network relay device, and congested state notifying method | |
CN101977358A (zh) | 一种数据短信的传输方法、装置及设备 | |
CN102056240B (zh) | 一种小区间负载均衡方法和一种基站 | |
CN100566277C (zh) | 通信网络系统和用于传送信息的方法 | |
CN103685028A (zh) | 多类型端口相互通信的方法及装置 | |
CN102158383B (zh) | 一种e1双向环网络的数据传输方法、装置及系统 | |
CN108123826B (zh) | 一种跨区数据的交互系统及方法 | |
CN103338158A (zh) | 一种goose报文传输时延抖动抑制方法 | |
JP3439320B2 (ja) | データ通信方法、データ通信装置、およびデータ通信プログラム記録媒体 | |
CN104536934A (zh) | 一种串口通信方法及系统 | |
CN104536853B (zh) | 一种保障双控制器存储设备资源连续可用性的装置 | |
CN101547131A (zh) | Eaps环网单通故障定位和保护方法 | |
CN102918802B (zh) | 确定故障指示状态的方法、节点和系统 | |
CN102474337B (zh) | 在中继链路上处理数据的方法和相关设备 | |
CN103546427A (zh) | 一种实现加密机应用的高可用性的方法和系统 | |
CN103746842A (zh) | 一种检测线卡故障重起的方法及系统 | |
KR101675734B1 (ko) | 무선 네트워크 시스템에서의 링크 품질 판단 방법 | |
CN102480375A (zh) | 日志信息处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121010 Termination date: 20121231 |