CN103023765B - 一种基于脚本语言的报文处理方法和装置 - Google Patents
一种基于脚本语言的报文处理方法和装置 Download PDFInfo
- Publication number
- CN103023765B CN103023765B CN201210522682.3A CN201210522682A CN103023765B CN 103023765 B CN103023765 B CN 103023765B CN 201210522682 A CN201210522682 A CN 201210522682A CN 103023765 B CN103023765 B CN 103023765B
- Authority
- CN
- China
- Prior art keywords
- event
- message
- chain
- trigger condition
- script file
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于脚本语言的报文处理方法和装置,属于网络通信领域。所述报文处理方法包括:获取用于对报文进行处理的脚本文件,所述脚本文件中包括多个事件,每个事件包括触发条件、事件链名称和命令集这三者的对应关系;通过web页面将所述脚本文件下发到操作系统,由操作系统对所述脚本文件进行解析后,将各事件挂到事件链表中对应的事件链中;从接口接收到报文时,根据该接口对应的触发条件,在事件链表中匹配相应的事件链,对匹配到的事件链中的命令进行解析后,根据解析结果对报文执行相应的处理。根据本发明,能够实现对网络设备功能的定制更加灵活和方便。
Description
技术领域
本发明涉及网络通信领域,尤其涉及一种基于脚本语言的报文处理方法和装置。
背景技术
现有的技术方案主要是以web管理界面对网络设备进行配置,所有配置操作在浏览器中完成,这对于一些常规简单配置十分方便。但是,当前的网络数据多种多样,不同的报文可能会有不同的处理方式,如果仍然以web管理界面对网络设备进行配置,则需要添加相应的管理页面。即使这样,仍然不能满足对不同报文增加的处理条件,而且也不能满足对不同报文进行精细控制的需求。
发明内容
有鉴于此,本发明的目的是提供一种基于脚本语言的报文处理方法和装置,实现对网络设备功能的定制更加灵活和方便。
为实现上述目的,本发明提供技术方案如下:
一种基于脚本语言的报文处理方法,应用于网络设备上,包括:
获取用于对报文进行处理的脚本文件,所述脚本文件中包括多个事件,每个事件包括触发条件、事件链名称和命令集这三者的对应关系;
通过web页面将所述脚本文件下发到操作系统,由操作系统对所述脚本文件进行解析后,将各事件挂到事件链表中对应的事件链中;
从接口接收到报文时,根据该接口对应的触发条件,在事件链表中匹配相应的事件链,对匹配到的事件链中的命令进行解析后,根据解析结果对报文执行相应的处理。
一种基于脚本语言的报文处理装置,应用于网络设备上,包括:
脚本文件获取模块,用于获取用于对报文进行处理的脚本文件,所述脚本文件中包括多个事件,每个事件包括触发条件、事件链名称和命令集这三者的对应关系;
脚本文件解析模块,用于通过web页面将所述脚本文件下发到操作系统,由操作系统对所述脚本文件进行解析后,将各事件挂到事件链表中对应的事件链中;
报文处理模块,用于从接口接收到报文时,根据该接口对应的触发条件,在事件链表中匹配相应的事件链,对匹配到的事件链中的命令进行解析后,根据解析结果对报文执行相应的处理。
根据本发明的技术方案,能够使得网络设备对网络流量的控制,以及对各种协议和应用数据的控制更加灵活,定制功能更加简单易行。
附图说明
图1是本发明实施例的基于脚本语言的报文处理方法流程图;
图2是本发明实施例的基于脚本语言的报文处理方法示意图;
图3是本发明实施例的基于脚本语言的报文处理装置结构图。
具体实施方式
脚本语言能够为网络设备提供灵活强大的定制功能,所述网络设备可以是网络安全设备、流量控制设备和应用交付平台设备等。例如,对于应用交付平台设备,其支持大多数应用交付的标准功能,可以满足大部分网络系统对这方面的功能及部署要求,当某些应用系统对数据控制有着更加精细的定制要求,或者对标准协议的功能支持有更高的要求,这时候就可以使用一些脚本来增强网络设备的功能,实现这些功能要求。
图1是本发明实施例的基于脚本语言的报文处理方法流程图,所述报文处理方法应用于网络设备上,所述网络设备可以是网络安全设备、流量控制设备和应用交付平台设备等。
参照图1,所述报文处理方法可以包括如下步骤:
步骤101,获取用于对报文进行处理的脚本文件,所述脚本文件中包括多个事件,每个事件包括触发条件、事件链名称和命令集这三者的对应关系;
步骤102,通过web页面将所述脚本文件下发到操作系统,由操作系统对所述脚本文件进行解析后,将各事件挂到事件链表中对应的事件链中;
步骤103,从接口接收到报文时,根据该接口对应的触发条件,在事件链表中匹配相应的事件链,对匹配到的事件链中的命令进行解析后,根据解析结果对报文执行相应的处理。
以下结合图2对本发明进行详细说明。
在本发明中,每个脚本是以事件为最基本的处理单位,以事件中命令和逻辑的灵活组合和排序定制IP层以上的数据流量处理功能。
事件是以“触发条件事件链名称{命令集}”三部分组成一个完整事件命令。相同事件链名称会把事件命令集挂到同一个事件链表遍历执行每一个事件中的命令。
图2中,PACKETIN、PACKETOUT、PACKETFORWARD和PACKETLLB为事件链名称,其中:
PACKETIN为接收报文时触发;
PACKETFORWARD为转发报文时触发,上送本机可以不做处理;
PACKETOUT为报文发送时触发;
PACKETLLB为进链路负载做调度时触发。
事件入接口是在特定业务处理位置定义一个相应事件调用接口,所有经过业务都应当经过事件流程。其中,PACKETIN是在报文从驱动上送接收函数中定义的接口;PACKETFORWARD是在报文转发时定义的接口,报文在转发时分本机报文和转发报文;PACKETOUT是在需要再将报文发送到驱动时的接口函数中定义;PACKETLLB是在链路负载模块入口定义。
脚本文件通过WEB页面进行管理,在下发保存到设备系统内的同时,读取脚本文件下发到系统内核进行脚本中事件解析,挂到相应事件链表,例如,挂到PACKETIN、PACKETOUT、PACKETFORWARD等事件链表。当在特定事件入口有报文经过时触发相应事件链上的命令对其解析、执行。具体地,当报文经过事件接口时,进入相应事件链表执行事件链表上相应命令操作,完成之后根据相应结果或流程继续后续工作。
需要说明的是,本发明中事件的触发条件以及对应的命令集可以根据对报文的处理需要进行定制,本发明对其具体内容不做限制。也就是说,本发明的关键不在于如何编写脚本文件,而是,本领域技术人员可以根据对报文处理的各种需求,编写能够满足该需求的脚本文件。
对于PACKETIN事件链,可以根据接收报文的目的地址、目的地址网段、协议或端口判断是那个服务请求的报文,是否需要进行转发或做相关处理。例如,例可以使用相关命令做网络地址转换(nat)。
对于PACKETFORWARD事件链,其为对报文进行转发时执行,可以根据报文的信息绑定接口信息或是为其他模块提供打印一些标记。
对于PACKETOUT事件链,与PACKETIN对应,可以做nat应用。
以PACKETLLB链路调度事件链为例,可以执行如下命令:
(1)如当前运营商链路负载低于50%选择当前链路。
(2)如高于50%查看其他链路有没有低于50%的有则选择低于50%的链路中链接数最小的链路。
(3)如果都高于50%则使用最小负载算法。
对于PACKETLLB事件链,对应的脚本文件中的脚本可以如下:
需要说明的是,以上脚本仅是本发明的一个应用实例,并不能对本发明的保护范围进行限制,本领域技术人员也可以根据需要编写其他类型的脚本。
对应于上述基于脚本语言的报文处理方法,本发明实施例还提供一种基于脚本语言的报文处理装置。所述报文处理装置应用于网络设备上,所述网络设备可以是网络安全设备、流量控制设备和应用交付平台设备等。
参照图3,所述报文处理装置可以包括:
脚本文件获取模块10,用于获取用于对报文进行处理的脚本文件,所述脚本文件中包括多个事件,每个事件包括触发条件、事件链名称和命令集这三者的对应关系;
脚本文件解析模块20,用于通过web页面将所述脚本文件下发到操作系统,由操作系统对所述脚本文件进行解析后,将各事件挂到事件链表中对应的事件链中;
报文处理模块30,用于从接口接收到报文时,根据该接口对应的触发条件,在事件链表中匹配相应的事件链,对匹配到的事件链中的命令进行解析后,根据解析结果对报文执行相应的处理。
具体地,所述事件链表中包括以下事件链中的一个或多个:
接收报文PACKETIN事件链,对应的触发条件为报文从驱动上送到报文接收函数中定义的接口;
转发报文PACKETFORWARD事件链,对应的触发条件为报文到达报文转发函数中定义的接口;
发送报文PACKETOUT事件链,对应的触发条件为报文到达用于将报文发送到驱动的接口;
负载均衡PACKETLLB事件链,对应的触发条件为报文到达链路负载均衡处理接口。
综上所述,根据本发明,能够使得网络设备对网络流量的控制,以及对各种协议和应用数据的控制更加灵活,定制功能更加简单易行。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (4)
1.一种基于脚本语言的报文处理方法,应用于网络设备上,其特征在于,包括:
获取用于对报文进行处理的脚本文件,所述脚本文件中包括多个事件,每个事件包括触发条件、事件链名称和命令集这三者的对应关系;
通过web页面将所述脚本文件下发到操作系统,由操作系统对所述脚本文件进行解析后,将各事件所包括的触发条件、事件链名称和命令集这三者的对应关系挂到事件链表中对应的事件链中,其中,相同事件链名称会把事件命令集挂到同一个事件链表遍历执行每一个事件中的命令;
从接口接收到报文时,根据该接口对应的触发条件,在事件链表中匹配相应的事件链,对匹配到的事件链中的命令进行解析后,根据解析结果对报文执行相应的处理。
2.如权利要求1所述的报文处理方法,其特征在于,所述事件链表中包括以下事件链中的至少一个:
接收报文PACKETIN事件链,对应的触发条件为报文从驱动上送到报文接收函数中定义的接口;
转发报文PACKETFORWARD事件链,对应的触发条件为报文到达报文转发函数中定义的接口;
发送报文PACKETOUT事件链,对应的触发条件为报文到达用于将报文发送到驱动的接口;
负载均衡PACKETLLB事件链,对应的触发条件为报文到达链路负载均衡处理接口。
3.一种基于脚本语言的报文处理装置,应用于网络设备上,其特征在于,包括:
脚本文件获取模块,用于获取用于对报文进行处理的脚本文件,所述脚本文件中包括多个事件,每个事件包括触发条件、事件链名称和命令集这三者的对应关系;
脚本文件解析模块,用于通过web页面将所述脚本文件下发到操作系统,由操作系统对所述脚本文件进行解析后,将各事件所包括的触发条件、事件链名称和命令集这三者的对应关系挂到事件链表中对应的事件链中,其中,相同事件链名称会把事件命令集挂到同一个事件链表遍历执行每一个事件中的命令;
报文处理模块,用于从接口接收到报文时,根据该接口对应的触发条件,在事件链表中匹配相应的事件链,对匹配到的事件链中的命令进行解析后,根据解析结果对报文执行相应的处理。
4.如权利要求3所述的报文处理装置,其特征在于,所述事件链表中包括以下事件链中的至少一个:
接收报文PACKETIN事件链,对应的触发条件为报文从驱动上送到报文接收函数中定义的接口;
转发报文PACKETFORWARD事件链,对应的触发条件为报文到达报文转发函数中定义的接口;
发送报文PACKETOUT事件链,对应的触发条件为报文到达用于将报文发送到驱动的接口;
负载均衡PACKETLLB事件链,对应的触发条件为报文到达链路负载均衡处理接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210522682.3A CN103023765B (zh) | 2012-12-04 | 2012-12-04 | 一种基于脚本语言的报文处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210522682.3A CN103023765B (zh) | 2012-12-04 | 2012-12-04 | 一种基于脚本语言的报文处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103023765A CN103023765A (zh) | 2013-04-03 |
CN103023765B true CN103023765B (zh) | 2015-09-09 |
Family
ID=47971912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210522682.3A Active CN103023765B (zh) | 2012-12-04 | 2012-12-04 | 一种基于脚本语言的报文处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103023765B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015100542A1 (zh) * | 2013-12-30 | 2015-07-09 | 华为技术有限公司 | 软件定义网络中的事件分发方法,控制设备和处理器 |
CN108055298A (zh) * | 2017-12-04 | 2018-05-18 | 泰康保险集团股份有限公司 | 用于控制消息队列的方法及装置 |
CN110134386B (zh) * | 2019-04-04 | 2023-04-18 | 成都娄外科技有限公司 | 一种程序编辑方法和装置 |
CN110471719A (zh) * | 2019-08-16 | 2019-11-19 | 北京明略软件系统有限公司 | 脚本文件的运行方法及装置、存储介质、电子装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000023876A2 (en) * | 1998-10-16 | 2000-04-27 | Auspice, Inc. | Enterprise communication protocol |
EP2015245A1 (en) * | 2007-06-06 | 2009-01-14 | Nebuad, Inc. | Method and system for inserting targeted data in available spaces of a webpage |
US7707635B1 (en) * | 2005-10-06 | 2010-04-27 | Trend Micro Incorporated | Script-based pattern for detecting computer viruses |
CN102004639A (zh) * | 2010-09-28 | 2011-04-06 | 深圳市共进电子有限公司 | 嵌入式脚本生成模块以及嵌入式脚本生成的方法 |
CN102571541A (zh) * | 2010-12-24 | 2012-07-11 | 中兴通讯股份有限公司 | 报文编、解码方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7412501B2 (en) * | 2000-06-07 | 2008-08-12 | Microsoft Corporation | Event consumers for an event management system |
US20060050856A1 (en) * | 2004-09-03 | 2006-03-09 | Pence Jeffrey W | Computer telephony server for scripted call termination |
CN101547263B (zh) * | 2009-05-13 | 2011-06-29 | 烽火通信科技股份有限公司 | 基于xml脚本的电信业务增值服务器及实现方法 |
-
2012
- 2012-12-04 CN CN201210522682.3A patent/CN103023765B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000023876A2 (en) * | 1998-10-16 | 2000-04-27 | Auspice, Inc. | Enterprise communication protocol |
US7707635B1 (en) * | 2005-10-06 | 2010-04-27 | Trend Micro Incorporated | Script-based pattern for detecting computer viruses |
EP2015245A1 (en) * | 2007-06-06 | 2009-01-14 | Nebuad, Inc. | Method and system for inserting targeted data in available spaces of a webpage |
CN102004639A (zh) * | 2010-09-28 | 2011-04-06 | 深圳市共进电子有限公司 | 嵌入式脚本生成模块以及嵌入式脚本生成的方法 |
CN102571541A (zh) * | 2010-12-24 | 2012-07-11 | 中兴通讯股份有限公司 | 报文编、解码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103023765A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535831A (zh) | 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质 | |
CN112653618B (zh) | 微服务应用api端点的网关注册方法及装置 | |
CN102902537B (zh) | 基于FastCGI和HTML模板的嵌入式WEB MVC开发框架 | |
CN103023765B (zh) | 一种基于脚本语言的报文处理方法和装置 | |
CN104823470A (zh) | 用于在移动网络环境中将网络信息与订户信息关联的系统和方法 | |
CN105939291A (zh) | 报文处理方法和网络设备 | |
CN101894059B (zh) | 一种运行状态的检测方法及系统 | |
CN103281361A (zh) | 个人云协同系统及数据管理方法 | |
CN111277422B (zh) | 微服务的处理方法、装置、系统和计算机可读存储介质 | |
CN103701876A (zh) | 一种基于网络共享资源的方法及装置 | |
CN107241274A (zh) | 一种物联网集成服务无线路由器和系统 | |
CN104834534A (zh) | 扩展应用程序功能的方法、装置及系统 | |
CN107066341B (zh) | 一种软件模块间的事件路由框架及方法 | |
CN105245588A (zh) | 一种web业务端口分离处理的方法 | |
CN107483341A (zh) | 一种跨防火墙报文快速转发方法及装置 | |
CN103220188A (zh) | 一种http数据采集设备 | |
CN109343944A (zh) | eSIM卡的数据处理方法、装置、终端及存储介质 | |
CN102629345A (zh) | 链式沟通协作方法、装置及系统 | |
CN107301100A (zh) | 一种停车场远程控制方法、装置和系统 | |
CN101621530B (zh) | 基于光路共享的负载均衡网络资源调度方法及其装置 | |
CN101335763A (zh) | 智能网系统中数据导出及数据传输的方法 | |
CN104717096A (zh) | 一种事件处理方法和装置 | |
CN107749875B (zh) | 一种大数据人工智能分析系统 | |
CN105912137A (zh) | 字符输入方法及设备 | |
CN105471621A (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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Patentee after: Hangzhou Dipu Polytron Technologies Inc Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Patentee before: Hangzhou Dipu Technology Co., Ltd. |