著录项信息
专利名称 | 一种通信方法和网络适配器 |
申请号 | CN200910239529.8 | 申请日期 | 2009-12-31 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2010-07-07 | 公开/公告号 | CN101771686A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6;;;H;0;4;L;2;9;/;1;2;;;H;0;4;L;1;2;/;2;4查看分类表>
|
申请人 | 卓望数码技术(深圳)有限公司 | 申请人地址 | 广东省深圳市南山区高新技术产业园南区深港产学研基地大楼西座六楼南翼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 卓望数码技术(深圳)有限公司 | 当前权利人 | 卓望数码技术(深圳)有限公司 |
发明人 | 吕秋明;邓福喜;李升林;林伟军;廖炳才;肖伟;刘志尧;樊小彬 |
代理机构 | 深圳市顺天达专利商标代理有限公司 | 代理人 | 李琴 |
摘要
本发明涉及网络通信技术,针对现有消息传送方式易因异常网元而导致通信模块和应用层阻塞等缺陷,提供一种通信方法和网络适配器。通信方法包括发送预处理步骤,包括从待发送数据包中提取目的网络地址;判断该目的网络地址是否包含在黑名单中,若是,则发出发送失败提示,并更新黑名单中该目的网络地址的优先级。本发明还提供了一种网络适配器。本发明提供的技术方案将无法到达的网元列入黑名单。本发明提供的技术方案对面向黑名单中网元的消息发送请求直接返回失败提示,从而实现对异常网元的隔离,避免因这些发送请求而尝试与异常网元建立连接,降低对通信模块资源的占用,同时及时向应用层返回失败指示,降低应用层阻塞。
1.一种通信方法,其特征在于,包括:
发送预处理步骤,包括:
从待发送数据包中提取目的网络地址;
判断该目的网络地址是否包含在黑名单中,若是,则向发出该数据包的应用层应用发出发送失败提示,拦截该数据包,并更新黑名单中该目的网络地址的优先级;
恢复步骤,包括依照优先级由高到低的顺序依次对黑名单中的每一网络地址执行连接操作,该连接操作包括:
依据生成时间计算作为操作目标的网络地址在黑名单中的停留时间;
判断该停留时间是否超过预先设置的停留阈值,若是,则将该网络地址从黑名单中删除,若否,则在判定该网络地址可到达时将该网络地址从黑名单中删除。
2.根据权利要求1所述的通信方法,其特征在于,所述发送预处理步骤还包括,若判定所述目的网络地址未包含在所述黑名单中,则依据该目的网络地址发送所述数据包。
3.根据权利要求2所述的通信方法,其特征在于,在依据该目的网络地址发送该数据包时,所述发送预处理步骤还包括,在连续发送失败的次数达到预先设置的阈值时,将所述目的网络地址添加到所述黑名单中。
4.根据权利要求1所述的通信方法,其特征在于,所述黑名单通过共享内存存储。
5.一种网络适配器,其特征在于,包括:
发送预处理模块,用于执行如下操作:
从待发送数据包中提取目的网络地址;
判断该目的网络地址是否包含在黑名单中,若是,则向发出该数据包的应用层应用发出发送失败提示,拦截该数据包,并更新黑名单中该目的网络地址的优先级;
恢复模块,用于依照优先级由高到低的顺序依次对黑名单中的每一网络地址执行连接操作,该连接操作包括:
依据生成时间计算作为操作目标的网络地址在黑名单中的停留时间;
判断该停留时间是否超过预先设置的停留阈值,若是,则将该网络地址从黑名单中删除,若否,则在判定该网络地址可到达时将该网络地址从黑名单中删除。
6.根据权利要求5所述的网络适配器,其特征在于,还包括收发模块,所述发送预处理模块还用于在判定所述目的网络地址未包含在所述黑名单中时,通过所述收发模块依据该目的网络地址发送所述数据包。
7.根据权利要求6所述的网络适配器,其特征在于,在依据该目的网络地址发送该数据包时,所述发送预处理模块还用于,在连续发送失败的次数达到预先设置的阈值时,将所述目的网络地址添加到所述黑名单中。
8.根据权利要求5所述的网络适配器,其特征在于,所述黑名单通过共享内存存储。
一种通信方法和网络适配器\n技术领域\n[0001] 本发明涉及网络通信技术,更具体地说,涉及一种通信方法和网络适配器。\n背景技术\n[0002] 现有应用系统在通过socket向外部网元发送消息时,一般都会定义一个接口层,并通过专门的通信模块来与外部网元进行交互。当应用系统需要同时向多个外部网元发送消息时,同样由该通信模块承担发送任务。每次收到来自应用层的发送请求,通信模块都会跟目的网元建立连接,但在发送消息之前不会预先判断该网元是否可以到达。\n[0003] 对于一个实时性要求较高的应用系统来说,上文所述的消息发送方式在某个外部网元出现异常时,往往会出现问题,例如:\n[0004] 1、针对面向异常网元的每一消息发送请求,通信模块都会尝试与该网元建立连接。一般来说,尝试建立连接的过程非常耗时,并且大量占用通信模块的资源,从而导致面向其他外部网元的消息发送请求无法及时得到处理,在通信模块中造成阻塞;\n[0005] 2、由于尝试建立连接的过程非常耗时,导致在向应用层应答时经常出现较长的延迟甚至超时,因此造成应用层阻塞;\n[0006] 3、在外部网元出现异常的情况下仍然频繁向该网元发起连接请求,必然导致该网元过负荷,给外部网元的恢复带来不良影响;\n[0007] 4、当外部网元恢复正常时,只能在向该网元发送消息时才能检测到,无法预先确定该网元的状态。\n[0008] 因此,需要一种通信解决方案,能够有效克服现有消息传送方法中存在的上述缺陷。\n发明内容\n[0009] 本发明要解决的技术问题在于,针对现有消息传送方式易因异常网元而导致通信模块和应用层阻塞等缺陷,提供一种通信方法和网络适配器。\n[0010] 本发明解决其技术问题所采用的技术方案是:\n[0011] 构造一种通信方法,包括:\n[0012] 发送预处理步骤,包括:\n[0013] 从待发送数据包中提取目的网络地址;\n[0014] 判断该目的网络地址是否包含在黑名单中,若是,则发出发送失败提示,并更新黑名单中该目的网络地址的优先级。\n[0015] 在本发明提供的通信方法中,所述发送预处理步骤还包括,若判定所述目的网络地址未包含在所述黑名单中,则依据该目的网络地址发送所述数据包。\n[0016] 在本发明提供的通信方法中,在依据该目的网络地址发送该数据包时,所述发送预处理步骤还包括,在连续发送失败的次数达到预先设置的阈值时,将所述目的网络地址添加到所述黑名单中。\n[0017] 在本发明提供的通信方法中,还包括恢复步骤,包括依照优先级由高到低的顺序依次对黑名单中的每一网络地址执行连接操作,该连接操作包括:\n[0018] S1、依据生成时间计算作为操作目标的网络地址在黑名单中的停留时间;\n[0019] S2、判断该停留时间是否超过预先设置的停留阈值,若是,则将该网络地址从黑名单中删除,若否,则在判定该网络地址可到达时将该网络地址从黑名单中删除。\n[0020] 在本发明提供的通信方法中,所述黑名单通过共享内存存储。\n[0021] 本发明还提供了一种网络适配器,包括:\n[0022] 发送预处理模块,用于执行如下操作:\n[0023] 从待发送数据包中提取目的网络地址;\n[0024] 判断该目的网络地址是否包含在黑名单中,若是,则发出发送失败提示,并更新黑名单中该目的网络地址的优先级。\n[0025] 在本发明提供的网络适配器中,还包括收发模块,所述发送预处理模块还用于在判定所述目的网络地址未包含在所述黑名单中时,通过所述收发模块依据该目的网络地址发送所述数据包。\n[0026] 在本发明提供的网络适配器中,在依据该目的网络地址发送该数据包时,所述发送预处理模块还用于,在连续发送失败的次数达到预先设置的阈值时,将所述目的网络地址添加到所述黑名单中。\n[0027] 在本发明提供的网络适配器中,还包括恢复模块,用于依照优先级由高到低的顺序依次对黑名单中的每一网络地址执行连接操作,该连接操作包括:\n[0028] S1、依据生成时间计算作为操作目标的网络地址在黑名单中的停留时间;\n[0029] S2、判断该停留时间是否超过预先设置的停留阈值,若是,则将该网络地址从黑名单中删除,若否,则在判定该网络地址可到达时将该网络地址从黑名单中删除。\n[0030] 在本发明提供的网络适配器中,所述黑名单通过共享内存存储。\n[0031] 实施本发明的技术方案,具有以下有益效果:本发明提供的通信方法和网络适配器将无法到达的网元列入黑名单。在这种情况下,本发明提供的技术方案对面向黑名单中网元的消息发送请求采用特别方式进行处理,即直接返回失败提示,从而实现对异常网元的隔离,避免因这些发送请求而尝试与异常网元建立连接,降低对通信模块资源的占用,同时及时向应用层返回失败指示,降低应用层阻塞。由于面向异常网元的消息发送请求提前被拦截,因此不会向异常网元发送消息,从而降低对异常网元造成的负担,加快异常网元的恢复。此外,本发明提供的技术方案易于实现,成本低廉。\n附图说明\n[0032] 下面将结合附图及实施例对本发明作进一步说明,附图中:\n[0033] 图1是依据本发明一较佳实施例的通信方法发送预处理步骤的流程图;\n[0034] 图2是依据本发明一较佳实施例的连接操作的流程图;\n[0035] 图3是依据本发明一较佳实施例的网络适配器的逻辑结构示意图。\n具体实施方式\n[0036] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。\n[0037] 本发明提供了一种通信方法和网络适配器,将无法到达的网元列入黑名单。在这种情况下,本发明提供的技术方案对面向黑名单中网元的消息发送请求采用特别方式进行处理,即直接返回失败提示,从而实现对异常网元的隔离,避免因这些发送请求而尝试与异常网元建立连接,降低对通信模块资源的占用,同时及时向应用层返回失败指示,降低应用层阻塞。由于面向异常网元的消息发送请求提前被拦截,因此不会向异常网元发送消息,从而降低对异常网元造成的负担,加快异常网元的恢复。此外,本发明提供的技术方案易于实现,成本低廉。下面就结合附图和具体实施例来对本发明提供的技术方案进行详细描述。\n[0038] 本发明提供了一种通信方法,其包括发送预处理步骤和恢复步骤。下面分别结合图1和图2对这两个步骤进行详细描述。\n[0039] 图1是依据本发明一较佳实施例的通信方法发送预处理步骤100的流程图。如图\n1所示,预处理步骤100开始于步骤102。\n[0040] 随后,在下一步骤104,从待发送数据包中提取目的网络地址。\n[0041] 随后,在下一步骤106,判断提取的目的网络地址是否包含在黑名单中,若是,则转到步骤108,否则转到步骤110。\n[0042] 如上文所述,若在步骤106判定提取的目的网络地址包含在黑名单中,则转到步骤108,发出发送失败提示,拦截该数据包,然后转到步骤112。\n[0043] 在具体实现过程中,在步骤108中将向发出该数据包的应用层应用发出失败提示,以作为对该应用层应用请求发送该数据包的应答,从而降低应用层阻塞。此外,通过拦截该数据包,便可阻止向异常网元发出该数据包,从而实现对异常网元的隔离,避免因发送该数据包的请求而尝试与异常网元建立连接,降低对通信模块资源的占用。由于面向异常网元的消息发送请求提前被拦截,因此不会向异常网元发送消息,从而避免对异常网元造成负担,加快异常网元的恢复。\n[0044] 在具体实现过程中,黑名单通过共享内存方式存储,从而实现在进程间共享该黑名单。\n[0045] 随后,在下一步骤112,更新黑名单中该目的网络地址的优先级,然后转到步骤\n114。有关优先级的技术内容将在下文进行详细描述。\n[0046] 如上文所述,若在步骤106判定提取的目的网络地址未包含在黑名单中,则转到步骤110,依据提取的目的网络地址发送上述数据包,然后转到步骤114。\n[0047] 若目的网络地址未包含在黑名单中,则说明该网络地址此前一直处于可到达状态。然而,若该网络地址对应的外部网元刚刚出现异常,导致该网络地址刚刚由可到达状态转为不可到达状态,则可能导致消息发送失败。在这种情况下,在连续发送失败的次数达到预先设置的阈值时,预处理步骤100便会将该目的网络地址添加到黑名单中。\n[0048] 最后,发送预处理步骤100结束于步骤114。\n[0049] 本发明提供的通信方法还包括一恢复步骤,包括依照优先级由高到低的顺序依次对黑名单中的每一网络地址执行连接操作。其中,优先级反映了该网络地址的重要性,例如该网络地址的频繁访问程度,优先级越高,对该网络地址的访问越频繁。如上文所述,在发送预处理步骤100的步骤112中,将更新黑名单中该目的网络地址的优先级,包括增加该优先级的值,以反映该网络地址访问量的增加,从而从侧面增加该网络地址的重要性。在恢复步骤中,对黑名单中访问程度越频繁的网络地址,越早进行连接操作,以尽早发现该网络地址从不可到达状态恢复到可到达状态,以便将该网络地址从黑名单中移出,解除对该网络地址的隔离。下面结合图2对该连接操作进行详细描述。\n[0050] 图2是依据本发明一较佳实施例的连接操作200的流程图。如图2所示,连接操作200开始于步骤202。\n[0051] 随后,在下一步骤204,依据生成时间计算作为操作目标的网络地址在黑名单中的停留时间。\n[0052] 在具体实现过程中,所述生成时间即为该网络地址进入黑名单的时间,所述停留时间即为从生成时间开始该网络地址在黑名单中的停留时间。\n[0053] 随后,在下一步骤206,判断该停留时间是否超过预先设置的停留阈值,若是,则转到步骤208,否则转到步骤210。\n[0054] 如上文所述,若在步骤206判定停留时间超过预先设置的停留阈值,则将转到步骤208,将该网络地址从黑名单中删除,然后转到步骤212。\n[0055] 在具体实现过程中,停留时间越长,外部网元从异常状态恢复的可能性越大,因此,可在停留时间超过预先设置的停留阈值时,认定该网络地址可到达,从而将其从黑名单中移出。\n[0056] 如上文所述,若在步骤206判定停留时间未超过预先设置的停留阈值,则将转到步骤210,判断该网络地址是否可到达,若是,则转到步骤208,否则转到步骤212。\n[0057] 在具体实现过程中,黑名单中除了记录不可到达的网络地址外,还记录了每一网络地址的侦听端口。在判断某一网络地址是否可到达时,可根据该网络地址和该侦听端口进行socket连接,若连接成功,则说明该网络地址可到达,否则说明该网络地址不可到达。\n[0058] 最后,连接操作200结束于步骤212。\n[0059] 在具体实现过程中,在上述恢复步骤中,上述连接操作可依照预先设置的时间间隔来进行定期执行。\n[0060] 在具体实现过程中,上文所述的优先级和连接操作的时间间隔可手动进行设置。\n[0061] 本发明还提供了一种网络适配器,下面就结合图3对其进行详细描述。\n[0062] 图3是依据本发明一较佳实施例的网络适配器300的逻辑结构示意图。如图3所示,网络适配器300包括发送预处理模块302、收发模块304和恢复模块306。\n[0063] 发送预处理模块302用于执行如下操作:\n[0064] 从待发送数据包中提取目的网络地址;\n[0065] 判断该目的网络地址是否包含在黑名单中,若是,则发出发送失败提示,并更新黑名单中该目的网络地址的优先级。\n[0066] 在具体实现过程中,本发明提供的网络适配器300还包括收发模块304,发送预处理模块302还用于在判定目的网络地址未包含在所述黑名单中时,通过收发模块304依据该目的网络地址发送所述数据包。有关收发模块304的相关技术内容已经在现有技术中做了清楚的描述,因此此处不再赘述。\n[0067] 在依据该目的网络地址通过收发模块304发送该数据包时,发送预处理模块302还用于在连续发送失败的次数达到预先设置的阈值时,将目的网络地址添加到黑名单中。\n[0068] 在具体实现过程中,发送预处理模块302所执行的操作与上文描述的发送预处理步骤相同。\n[0069] 恢复模块306用于依照优先级由高到低的顺序依次对黑名单中的每一网络地址执行连接操作,该连接操作包括:\n[0070] S1、依据生成时间计算作为操作目标的网络地址在黑名单中的停留时间;\n[0071] S2、判断该停留时间是否超过预先设置的停留阈值,若是,则将该网络地址从黑名单中删除,若否,则在判定该网络地址可到达时将该网络地址从黑名单中删除。\n[0072] 在具体实现过程中,恢复模块306所执行的操作与上文描述的恢复步骤相同。\n[0073] 在具体实现过程中,本发明提供的技术方案可采用插件化方式提供,为应用层提供了简洁的调用接口,应用系统的通讯模块可以在完全不影响原有逻辑的情况集成本组件功能。\n[0074] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
法律信息
- 2014-02-26
未缴年费专利权终止
IPC(主分类): H04L 29/06
专利号: ZL 200910239529.8
申请日: 2009.12.31
授权公告日: 2012.10.10
- 2012-10-10
- 2010-09-08
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 200910239529.8
申请日: 2009.12.31
- 2010-07-07
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
2008-04-04
| | |
2
| |
2007-09-12
|
2007-04-24
| | |
3
| |
2008-10-29
|
2008-05-20
| | |
4
| |
2008-04-30
|
2007-11-27
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |