CN111555950B - 报文处理方法、装置、服务器和存储介质 - Google Patents
报文处理方法、装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN111555950B CN111555950B CN202010225697.8A CN202010225697A CN111555950B CN 111555950 B CN111555950 B CN 111555950B CN 202010225697 A CN202010225697 A CN 202010225697A CN 111555950 B CN111555950 B CN 111555950B
- Authority
- CN
- China
- Prior art keywords
- event
- callback function
- message
- user message
- isolation space
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 230000006870 function Effects 0.000 claims abstract description 129
- 238000002955 isolation Methods 0.000 claims abstract description 117
- 238000012545 processing Methods 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims description 61
- 230000008569 process Effects 0.000 claims description 52
- 230000009471 action Effects 0.000 claims description 32
- 238000001514 detection method Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 description 42
- 230000005540 biological transmission Effects 0.000 description 6
- 230000001276 controlling effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例涉及虚拟专用网络领域,公开了一种报文处理方法、装置、服务器和存储介质。本发明中接收虚拟专用网络下的各用户报文;虚拟专用网络下包含多隔离空间,各个隔离空间通过监听器监听事件,事件的回调函数的参数为隔离空间的内存地址,且事件回调函数与事件类型相对应;根据用户报文的目标地址,在虚拟专用网络下包含的多隔离空间中确定目标隔离空间;通过目标隔离空间读取用户报文的事件类型对应的事件回调函数和参数;通过事件回调函数对用户报文进行异步处理。从而实现了对不同事件类型的用户报文进行统一处理,简化了不同事件类型的用户报文处理的复杂性,接收的用户报文以异步的方式处理,提高了处理效率。
Description
技术领域
本发明实施例涉及虚拟专用网络领域,特别涉及一种报文处理方法、装置、服务器和存储介质。
背景技术
每个租户在使用虚拟专用网络进行数据传输时均需遵守相应的传输规则,相应的传输规则通过配置文件进行定义。由于每个租户下存在多个用户的账户,每个用户通过其账户可以依据租户对应的配置文件规则登录虚拟专用网络并进行数据传输。
在用户向虚拟专用网络发送报文时,虚拟专用网络通过该用户对应的处理进程对该用户的报文进行处理,处理进程中加载有该用户对应的配置文件,也就是加载有用户账户所属租户的相应的配置文件。而在另一个租户下的用户发送报文时,虚拟专用网络通过这一用户对应的另一特定的处理进程对该用户的报文进行处理,处理进程中同样加载有这一用户对应的配置文件。
发明人发现相关技术中至少存在如下问题:通过不同的进程对不同租户下的用户报文进行处理,各个进程不能同时对用户报文进行处理,只能在一进程的处理结束之后,方可接收下一用户报文并通过相应的进程对报文进行处理,处理效率较低。
发明内容
本发明实施例的目的在于提供一种报文处理方法,对不同事件类型的用户报文进行统一处理,简化了不同事件类型的用户报文处理的复杂性;另外,事件回调函数以异步的方式处理用户报文,提高了用户报文的处理效率。
为解决上述技术问题,本发明的实施例提供了一种报文处理方法,包括:接收虚拟专用网络下的各用户报文;其中,虚拟专用网络下包含多隔离空间,各个隔离空间通过监听器监听事件,事件的回调函数的参数为隔离空间的内存地址,且事件回调函数与事件类型相对应;根据用户报文的目标地址,在虚拟专用网络下包含的多隔离空间中确定目标隔离空间;通过目标隔离空间读取用户报文的事件类型对应的事件回调函数和参数;通过事件回调函数对用户报文进行异步处理。
本发明的实施例还提供了一种报文处理装置,包括:接收模块,确定模块,异步处理模块;接收模块用于接收虚拟专用网络下的用户报文;其中,虚拟专用网络下包含多隔离空间,各个隔离空间通过监听器监听事件,所述事件的回调函数的参数为所述隔离空间的内存地址,且事件回调函数与事件类型相对应;确定模块用于根据用户报文的目标地址,在虚拟专用网络下包含的多隔离空间中确定目标隔离空间;通过目标隔离空间读取用户报文的事件类型对应的事件回调函数和参数;异步处理模块用于通过事件回调函数对用户报文进行异步处理。
本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行报文处理方法。
本发明的实施方式还提供了一种存储介质,存储有计算机程序,计算机程序被处理器执行时上述的报文处理方法。
本发明实施例相对于现有技术而言,接收用户报文,根据用户报文的地址可以确定处理该用户报文所需的配置文件所处的目标隔离空间,根据用户报文的事件类型可以确定所调用的事件回调函数和调用的参数,将用户报文通过事件回调函数进行异步处理,由于事件回调函数是异步处理用户报文,所以主线程可以继续接收下一个用户报文并通过其他隔离空间的事件回调函数对用户报文进行处理,也就是说在第一个报文在通过第一个隔离空间下的回调函数处理的过程中,接收的第二个报文可以通过第二个隔离空间下的事件回调函数进行处理,所以可以支持不同隔离空间下的用户报文的同时处理,提高了处理效率。另外,通过加载多个隔离空间内的配置文件,可以统一对不同租户的用户报文进行处理,同时可以统一对不同事件类型的用户报文进行处理,简化了不同事件类型的用户报文处理的复杂性。
另外,在通过预设进程接收虚拟专用网络下的各用户报文之前,还包括:获取隔离空间的配置文件;根据隔离空间的配置文件生成隔离空间控制结构体;隔离空间控制结构体中至少包含用于监听事件的监听器;通过隔离空间控制结构体向内核注册所述监听器的事件回调函数和参数。通过注册的事件回调函数的参数确定所调用的事件回调函数,从而回调的对应的配置文件,这样做可以加载多个隔离空间的配置文件。
另外,通过目标事件回调函数对用户报文进行异步处理,包括:如果用户报文的事件类型为管理隔离空间的事件类型,则根据目标事件回调函数确定目标指令并执行目标指令;目标指令用于控制配置工具执行相应的预设管理动作;通过目标事件回调函数接收配置工具的处理结果。控制配置工具执行新增的预设管理动作,从而可以控制配置工具配合预设进程实现不同事件类型的用户报文的处理。
另外,预设管理动作至少包括以下任一动作或其组合:查询动作,增加隔离空间配置文件动作,删除隔离空间配置文件动作和重载隔离空间动作。
另外,在通过目标事件回调函数接收配置工具的处理结果之后,还包括:如果处理结果为增加隔离空间配置文件,则读取新增的隔离空间中的配置文件;根据新增的隔离空间中的配置文件注册新增的隔离空间中的配置文件对应的各个事件类型的事件回调函数及参数。这样做可以对新增的隔离空间中的配置文件进行注册,从而使预设进程可以加载新增的隔离空间中的配置文件。
另外,用户报文的事件类型至少包括:控制报文读写事件类型,数据报文读写事件类型,心跳探测定时事件类型和接收信号事件类型。
另外,根据用户报文的事件类型,在根据目标隔离空间的配置文件注册的事件回调函数中确定目标事件回调函数,包括:如果用户报文的事件类型为心跳探测定时事件类型,则在检测到心跳间隔超时事件时,在注册的事件回调函数中确定心跳探测定时事件回调函数;通过心跳探测定时事件回调函数向用户反馈心跳报文。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施例中的报文处理方法的流程图;
图2是根据本发明第二实施例中的报文处理方法的流程图;
图3是根据本发明第三实施例中的报文处理装置的结构示意图;
图4是根据本发明第四实施例中的服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。
以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施例涉及一种报文处理方法,包括:接收虚拟专用网络下的各用户报文;其中,虚拟专用网络下包含多隔离空间,各个隔离空间通过监听器监听事件,事件的回调函数的参数为隔离空间的内存地址,且事件回调函数与事件类型相对应;根据用户报文的目标地址,在虚拟专用网络下包含的多隔离空间中确定目标隔离空间;通过目标隔离空间读取用户报文的事件类型对应的事件回调函数和参数;通过事件回调函数对用户报文进行异步处理。通过对不同事件类型的用户报文进行统一处理,简化了不同事件类型的用户报文接收的复杂性;另外,事件回调函数以异步的方式处理用户报文,提高了用户报文的处理效率。下面对本实施例的报文处理方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
具体流程如图1所示,第一实施例涉及一种报文处理方法,包括:
步骤101,接收虚拟专用网络下的各用户报文。
具体地说,在用户需要通过虚拟专用网络(openVPN)进行报文的传输时,在服务端申请套接字,套接字包括IP地址和端口,用于接收用户发送的用户报文,预设进程通过对各个用户申请的套接字进行监听,通过套接字接收相应用户的虚拟专用网络下的用户报文,接收用户报文的模式可以为TCP协议模式,也可以是udp协议模式。
在预设进程接收用户报文之前,还需要进行初始化处理,在对预设进程进行初始化处理之后加载虚拟专用网络下的多个隔离空间的配置文件,从而避免历史记录影响预设进程对当前接收的用户报文的处理结果。在加载多个隔离空间的配置文件之后,各个隔离空间创建监听器,并向内核注册监听器的事件回调函数和参数,所创建的监听器在监听到事件之后,基于事件的回调函数和参数读取隔离空间的内存地址中的数据,从而实现配置文件的读取。优选的,该监听器可以是socket套接字。
在对各类型的事件回调函数进行注册时,可以通过libevent接口进行注册,libevent是一个事件通知库,可以支持I/O读写事件,定时器事件和信号事件等等,在对不同类型的事件类型设置相应的回调函数时,以隔离空间自身内存地址作为参数,生成隔离空间控制结构体,所生成的隔离空间控制结构体至少包含以下信息:数据传输模式,如UDP模式或TCP模式;虚拟专用网络(VPN)的监听ip地址;虚拟专用网络(VPN)的监听端口;分配给客户端的地址池;需要推送到客户端的路由信息;心跳探测间隔;最长无响应累计时间等,还可以包含ca/cert/key/dh等相关密钥的证书;加解密算法,如CBC加密算法或GCM加密算法等。在隔离空间控制结构体中添加上述参数之后,利用隔离空间控制结构体完成回调函数的注册。
另外,在将隔离空间自身内存地址作为参数添加至隔离空间控制结构体中时,可以通过指针的形式进行添加,也可以通过哈希键(hash key)的形式添加,或者通过数组下标等方式进行添加,在此对于添加参数的方式不做限制,并由于所添加的隔离空间自身内存地址作为事件回调函数的索引地址,即对于事件回调函数的索引方式不做限制。下面以指针作为索引方式,具体对不同事件类型设置的回调函数进行举例说明:隔离空间控制报文读写事件的回调函数为ns_handle_link_io_data_cb;隔离空间数据报文读写事件的回调函数为ns_handle_tun_io_data_cb;用户心跳探测定时事件的回调函数为ns_handle_timer_cb;隔离空间接收到不同信号对应的回调函数为ns_handle_signal_cb;管理事件类型的回调函数为ns_handle_manegment_cb。
步骤102,根据用户报文的目标地址,在虚拟专用网络下包含的多隔离空间中确定目标隔离空间。具体地说,预设进程中每个回调函数在注册时,该回调函数的隔离空间控制结构体中至少包括监听用户报文的IP地址的监听器,所以根据接收的用户报文的IP地址即可确定该用户报文处理所需的配置文件所在的目标隔离空间。
步骤103,通过目标隔离空间读取用户报文的事件类型对应的事件回调函数和参数。具体地说,根据用户报文的事件类型可以在根据目标隔离空间注册的各事件类型的事件回调函数中确定该事件类型的事件回调函数以及参数。例如,接收的用户报文类型为控制报文的读写事件类型,则通过隔离空间控制报文读写事件的回调函数ns_handle_link_io_data_cb对该用户报文进行处理;同理,如果接收的用户报文的事件类型为数据报文读写事件,则通过隔离空间数据报文读写事件的回调函数ns_handle_tun_io_data_cb对该用户报文进行处理。
步骤104,通过目标事件回调函数对用户报文进行异步处理。
具体地说,每个事件类型的用户报文对应一个相应事件类型的事件回调函数,每个事件回调函数会根据对应的隔离空间自身内存地址调用数据库中的相应事件类型的配置文件对用户报文进行处理,在回调函数调用的相应事件类型的配置文件对用户报文进行处理的过程中,预设进程可以接收下一个用户报文,并根据用户报文的事件类型,通过另一回调函数对接收的下一个用户报文进行处理,从而实现了异步处理,提高了用户报文的处理效率。
各个事件类型回调函数对用户报文进行处理的过程如下:
在接收到用户报文之后,预设进程的主循环根据用户报文确定其事件类型为数据报文的读事件类型,则执行相应的数据报文的读事件类型的回调函数ns_handle_tun_io_data_cb,从内核中读取相应的数据报文。
在用户通过telnetl协议等方法向虚拟专用网络的后台查询登录情况时,预设进程的主循环根据用户请求报文确定其事件类型为控制报文的读事件类型,则执行相应的控制报文的读事件类型的回调函数ns_handle_link_io_data_cb,执行查询登录情况的命令。
在用户通过虚拟专用网络登录之后,若检测到心跳间隔超时,则会对应产生一个定时器超时事件,预设进程的主循环在检测到该定时器超时事件之后,执行用户心跳探测定时事件的回调函数ns_handle_timer_cb,向用户发送心跳报文。
在用户通过杀死进程命令(kill)或其他命令的方式向预设进程发送不同信号时,预设进程的主循环接收到不同信号之后,执行相应的回调函数ns_handle_signal_cb,从而执行不同的动作,比如在接收到sighup信号时,执行重新加载配置文件的动作;在接收到用户定义信号sigusr1或sigusr2时,执行相应的自定义动作;在接收到sigint信号时,执行中断进程的动作;在接收到sigterm信号时,执行终止进程的动作。
在接收到用户报文的事件类型为管理事件类型时,预设进程的主循环监听管理接口的读写事件,并执行相应的管理事件类型的回调函数ns_handle_manegment_cb。例如,回调函数读取到管理接口的目标命令时,控制配置工具执行对应的预设动作,预设动作可以是查询动作,增加隔离空间配置文件动作,删除隔离空间配置文件动作,重载隔离空间配置动作或踢掉某个隔离空间的用户动作等等。
本发明实施例相对于现有技术而言,接收用户报文,根据用户报文的地址可以确定处理该用户报文所需的配置文件所处的目标隔离空间,根据用户报文的事件类型可以确定所调用的事件回调函数和调用的参数,将用户报文通过目标事件回调函数进行异步处理,由于事件回调函数是异步处理用户报文,所以主线程可以继续接收下一个用户报文并通过其他隔离空间的事件回调函数对用户报文进行处理,也就是说在第一个报文在通过第一个隔离空间下的回调函数处理的过程中,接收的第二个报文可以通过第二个隔离空间下的回调函数处理,从而实现了支持不同隔离空间下的用户报文的同时处理,提高了处理效率。另外,通过加载多个隔离空间的配置文件,可以统一对不同租户的用户报文进行处理,同时可以统一对不同事件类型的用户报文进行处理,简化了不同事件类型的用户报文处理的复杂性。
本发明的第二实施例涉及一种报文处理方法。在本发明第二实施例中包括,如果用户报文的事件类型为管理隔离空间的事件类型,则根据目标事件回调函数确定目标指令并执行目标指令;目标指令用于控制配置工具执行相应的预设管理动作。具体流程如图2所示,包括:
步骤201,接收虚拟专用网络下的各用户报文。
步骤202,根据用户报文的地址,在虚拟专用网络下包含的多隔离空间中确定目标隔离空间。
步骤203,通过目标隔离空间读取用户报文的事件类型对应的事件回调函数和参数。
步骤201至203分别与第一实施例中步骤101至103相对应,在此不再赘述。
步骤204,如果用户报文的事件类型为管理隔离空间的事件类型,则根据目标事件回调函数确定目标指令并执行目标指令。
具体地说,预先在管理接口上增加管理隔离空间的相应参数,例如,在接收到管理事件中的查询事件时,将查询命令与配置工具执行的show_netns动作相绑定,同理将增加隔离空间配置文件命令与配置工具执行的add_netns-N nsname动作相绑定,将删除隔离空间配置文件命令与配置工具执行的del_netns-N nsname相绑定,将重载隔离空间配置命令与配置工具执行的reload_netns-N nsname动作相绑定,将踢掉隔离空间的用户与配置工具执行的kill common_name/ip_port相绑定,等等。
在用户报文的事件类型为管理隔离空间事件类型时,如用户发送查询报文时,管理事件类型的回调函数ns_handle_manegment_cb向管理接口发送查询命令,控制配置工具执行show_netns动作,并将查询结果返回给回调函数,由回调函数将结果返回至用户,从而实现隔离空间运行的数量的查询。同理在接收管理隔离空间事件类型对应的其他事件时,回调函数通过发送不同命令控制配置工具执行相应的动作,从而实现用户报文的处理。
另外,在配置工具执行增加隔离空间配置文件add_netns-N nsname动作之后,还可以根据新增的隔离空间中的配置文件注册相应的事件回调函数,从而实现在预设进程中加载新增的隔离空间中的配置文件。在根据新增的隔离空间中的配置文件注册相应的事件回调函数时,可以通过新增的ns_tunnel_server_init函数读取新增的隔离空间中的配置文件,并对应生成隔离空间控制结构体,通过生成的隔离空间控制结构体实现事件回调函数的注册。另外,在对加载的配置文件进行删除时,可以通过新增ns_tunnel_server_uninit函数对配置文件所处的隔离空间所生成的隔离空间控制结构体进行释放,从而删除无效的回调函数。
在本实施例中,通过管理隔离空间类型的回调函数发送指令,通过指令控制配置工具执行相应的管理工作,从而实现对隔离空间进行管理。实现控制配置工具配合预设进程实现不同事件类型的用户报文的处理。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施例涉及一种报文处理装置,如图3所示包括:接收模块31,确定模块32,异步处理模块33;接收模块31用于接收虚拟专用网络下的用户报文;其中,虚拟专用网络下包含多隔离空间,各个隔离空间通过监听器监听事件,事件的回调函数的参数为隔离空间的内存地址,且事件回调函数与事件类型相对应;确定模块32用于根据用户报文的目标地址,在虚拟专用网络下包含的多隔离空间中确定目标隔离空间;通过目标隔离空间读取用户报文的事件类型对应的事件回调函数和参数;异步处理模块33用于通过事件回调函数对用户报文进行异步处理。
不难发现,本实施例为与第一实施例相对应的装置实施例,本实施例可与第一实施例互相配合实施。第一实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例中。
另外,报文处理装置还包括:注册模块;注册模块用于获取隔离空间的配置文件;根据隔离空间的配置文件生成隔离空间控制结构体;隔离空间控制结构体中至少包含用于监听事件的监听器;通过隔离空间控制结构体向内核注册监听器的事件回调函数和参数。
另外,异步处理模块33用于在用户报文的事件类型为管理隔离空间的事件类型,则根据目标事件回调函数确定目标指令并执行目标指令;目标指令用于控制配置工具执行相应的预设管理动作;通过目标事件回调函数接收配置工具的处理结果。
另外,报文处理装置还包括:读取模块;读取模块用于在异步处理模块33处理结果为增加隔离空间配置文件时,读取新增的隔离空间中的配置文件,并根据新增的隔离空间中的配置文件注册新增的隔离空间中的配置文件对应的各个事件类型的事件回调函数及参数。
值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
本发明第四实施例涉及一种服务器,如图4所示,包括至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行上述报文处理方法。
其中,存储器402和处理器401采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器401和存储器402的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器401。
处理器401负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器402可以被用于存储处理器401在执行操作时所使用的数据。
本发明第五实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种报文处理方法,其特征在于,包括:
接收虚拟专用网络下的各用户报文;其中,虚拟专用网络下包含多隔离空间,各个隔离空间通过监听器监听事件,所述事件的回调函数的参数为所述隔离空间的内存地址,且所述事件回调函数与事件类型相对应;
预设进程中每个回调函数在注册时,所述回调函数的隔离空间控制结构体中至少包括监听用户报文的IP地址的监听器,根据所述用户报文的IP地址确定所述用户报文处理所需的配置文件所在的目标隔离空间;
根据所述用户报文的事件类型,在根据所述目标隔离空间注册的各事件类型的事件回调函数中确定事件类型的事件回调函数以及参数;
在回调函数调用的相应事件类型的配置文件对所述用户报文进行处理的过程中,预设进程接收下一个用户报文,并根据下一个用户报文的事件类型,通过另一回调函数对接收的下一个用户报文进行处理,从而实现通过所述事件回调函数对所述用户报文进行异步处理。
2.根据权利要求1所述报文处理方法,其特征在于,在所述接收虚拟专用网络下的各用户报文之前,还包括:
获取隔离空间的配置文件;
根据所述隔离空间的配置文件生成隔离空间控制结构体;所述隔离空间控制结构体中至少包含用于监听事件的所述监听器;
通过所述隔离空间控制结构体向内核注册所述监听器的事件回调函数及参数。
3.根据权利要求1所述报文处理方法,其特征在于,所述通过所述事件回调函数对所述用户报文进行异步处理,包括:
如果所述用户报文的事件类型为管理隔离空间的事件类型,则根据所述事件回调函数确定目标指令并执行所述目标指令;所述目标指令用于控制配置工具执行相应的预设管理动作;
通过所述事件回调函数接收所述配置工具的处理结果。
4.根据权利要求3所述报文处理方法,其特征在于,所述预设管理动作至少包括以下任一动作或其组合:
查询动作,增加隔离空间配置文件动作,删除隔离空间配置文件动作和重载隔离空间动作。
5.根据权利要求3所述的报文处理方法,其特征在于,在所述通过所述事件回调函数接收所述配置工具的处理结果之后,还包括:
如果所述处理结果为增加隔离空间配置文件,则读取新增的隔离空间中的配置文件;
根据所述新增的隔离空间中的配置文件注册所述新增的隔离空间中的配置文件对应的各个事件类型的事件回调函数及参数。
6.根据权利要求1所述的报文处理方法,其特征在于,所述用户报文的事件类型至少包括:控制报文读写事件类型,数据报文读写事件类型,心跳探测定时事件类型和接收信号事件类型。
7.根据权利要求6所述的报文处理方法,其特征在于,所述根据所述用户报文的事件类型,在根据所述目标隔离空间注册的各事件类型的事件回调函数中确定事件类型的事件回调函数以及参数,包括:
如果所述用户报文的事件类型为心跳探测定时事件类型,则在检测到心跳间隔超时事件时,在所述注册的事件回调函数中确定心跳探测定时事件回调函数;
通过所述心跳探测定时事件回调函数向用户反馈心跳报文。
8.一种报文处理装置,其特征在于,包括:接收模块,确定模块,异步处理模块;
所述接收模块用于接收虚拟专用网络下的用户报文;其中,虚拟专用网络下包含多隔离空间,各个隔离空间通过监听器监听事件,所述事件回调函数的参数为所述隔离空间的内存地址,且所述事件回调函数与事件类型相对应;
所述确定模块用于在预设进程中每个回调函数在注册时,所述回调函数的隔离空间控制结构体中至少包括监听用户报文的IP地址的监听器,根据所述用户报文的IP地址确定所述用户报文处理所需的配置文件所在的目标隔离空间;根据所述用户报文的事件类型,在根据所述目标隔离空间注册的各事件类型的事件回调函数中确定事件类型的事件回调函数以及参数;
所述异步处理模块用于在回调函数调用的相应事件类型的配置文件对所述用户报文进行处理的过程中,预设进程接收下一个用户报文,并根据下一个用户报文的事件类型,通过另一回调函数对接收的下一个用户报文进行处理,从而实现通过目标事件回调函数对所述用户报文进行异步处理。
9.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一所述的报文处理方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的报文处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010225697.8A CN111555950B (zh) | 2020-03-26 | 2020-03-26 | 报文处理方法、装置、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010225697.8A CN111555950B (zh) | 2020-03-26 | 2020-03-26 | 报文处理方法、装置、服务器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111555950A CN111555950A (zh) | 2020-08-18 |
CN111555950B true CN111555950B (zh) | 2022-05-13 |
Family
ID=72007263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010225697.8A Active CN111555950B (zh) | 2020-03-26 | 2020-03-26 | 报文处理方法、装置、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111555950B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112379868B (zh) * | 2020-11-12 | 2021-06-18 | 无锡沐创集成电路设计有限公司 | 基于可重构芯片的网络数据包处理的编程方法 |
CN113835825B (zh) * | 2021-03-03 | 2024-08-20 | 京东科技控股股份有限公司 | 虚拟服务主机的动态调整方法、装置、服务器和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003009528A1 (en) * | 2001-07-19 | 2003-01-30 | Sbc Technology Resources, Inc. | Virtual private network over asynchronous transfer mode |
CN1523808A (zh) * | 2003-02-20 | 2004-08-25 | 三星电子株式会社 | 接入虚拟专用网(vpn)的数据加密方法 |
CN102970142A (zh) * | 2012-12-11 | 2013-03-13 | 成都卫士通信息产业股份有限公司 | 一种vpn设备在多加密卡环境下并发加解密的方法及系统 |
CN106533890A (zh) * | 2016-12-30 | 2017-03-22 | 华为技术有限公司 | 一种报文处理方法、装置及系统 |
CN106815083A (zh) * | 2016-12-20 | 2017-06-09 | 微梦创科网络科技(中国)有限公司 | 一种基于Memcache协议的客户端异步处理方法及客户端 |
CN107479990A (zh) * | 2017-08-11 | 2017-12-15 | 恒丰银行股份有限公司 | 一种分布式软件服务系统 |
CN108712459A (zh) * | 2018-03-30 | 2018-10-26 | 深圳市风云实业有限公司 | 协议报文跨层通信方法、装置及电子设备 |
CN109861926A (zh) * | 2017-11-30 | 2019-06-07 | 中兴通讯股份有限公司 | 报文的发送、处理方法及装置、pe节点、节点 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8837491B2 (en) * | 2008-05-27 | 2014-09-16 | Glue Networks | Regional virtual VPN |
US10084642B2 (en) * | 2015-06-02 | 2018-09-25 | ALTR Solutions, Inc. | Automated sensing of network conditions for dynamically provisioning efficient VPN tunnels |
-
2020
- 2020-03-26 CN CN202010225697.8A patent/CN111555950B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003009528A1 (en) * | 2001-07-19 | 2003-01-30 | Sbc Technology Resources, Inc. | Virtual private network over asynchronous transfer mode |
CN1523808A (zh) * | 2003-02-20 | 2004-08-25 | 三星电子株式会社 | 接入虚拟专用网(vpn)的数据加密方法 |
CN102970142A (zh) * | 2012-12-11 | 2013-03-13 | 成都卫士通信息产业股份有限公司 | 一种vpn设备在多加密卡环境下并发加解密的方法及系统 |
CN106815083A (zh) * | 2016-12-20 | 2017-06-09 | 微梦创科网络科技(中国)有限公司 | 一种基于Memcache协议的客户端异步处理方法及客户端 |
CN106533890A (zh) * | 2016-12-30 | 2017-03-22 | 华为技术有限公司 | 一种报文处理方法、装置及系统 |
CN107479990A (zh) * | 2017-08-11 | 2017-12-15 | 恒丰银行股份有限公司 | 一种分布式软件服务系统 |
CN109861926A (zh) * | 2017-11-30 | 2019-06-07 | 中兴通讯股份有限公司 | 报文的发送、处理方法及装置、pe节点、节点 |
CN108712459A (zh) * | 2018-03-30 | 2018-10-26 | 深圳市风云实业有限公司 | 协议报文跨层通信方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
"Linux环境下的VPN异步加密模式的实现";丁湘陵等;《计算机与现代化》;20071231;第29-32页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111555950A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111555950B (zh) | 报文处理方法、装置、服务器和存储介质 | |
JP2020530722A (ja) | Pduタイプ設定方法、ueポリシー設定方法、および関連エンティティ | |
CN110597887B (zh) | 一种基于区块链网络的数据管理方法、装置及存储介质 | |
CN111061685B (zh) | 日志查询方法、装置、节点设备及存储介质 | |
US11582321B2 (en) | Service request processing method and related apparatus | |
US20230300030A1 (en) | K8s-based service deployment method and apparatus, device, and medium | |
US12034604B2 (en) | MQTT protocol simulation method and simulation device | |
CN109561054B (zh) | 一种数据传输方法、控制器及接入设备 | |
CN115344197A (zh) | 一种数据访问方法、网卡及服务器 | |
JP2020510891A (ja) | 検出システム、方法および関連装置 | |
CN108924043A (zh) | 系统监控方法、网关通信、网关装置、业务处理设备 | |
CN115023919B (zh) | 防火墙规则的更新方法、装置、服务器及存储介质 | |
KR20140047230A (ko) | 분산 시스템에서 분산 트랜잭션의 최적화를 위한 방법 및 트랜잭션을 최적화한 분산 시스템 | |
CN112148350A (zh) | 作品远程版本管理方法、电子设备以及计算机存储介质 | |
JP6944576B2 (ja) | キャッシュデバイス、命令キャッシュ、命令処理システム、データ処理方法、データ処理装置、コンピュータ可読記憶媒体及びコンピュータプログラム | |
EP3826244B1 (en) | Congestion control method and related device | |
US11381642B2 (en) | Distributed storage system suitable for sensor data | |
CN109981725B (zh) | 一种跨安全域的通信方法、服务器和可读存储介质 | |
CN115695326A (zh) | 数据帧传输方法、装置、计算机设备和存储介质 | |
CN112511440B (zh) | 报文转发方法、系统、存储介质和电子设备 | |
CN116781780A (zh) | 请求处理方法、装置、服务器和存储介质 | |
US20160232251A1 (en) | Continuously blocking query result data for a remote query | |
US20050281258A1 (en) | Address translation program, program utilizing method, information processing device and readable-by-computer medium | |
US20140108454A1 (en) | Enhancing online querying service using client memorization | |
CN117076409B (zh) | 文件共享方法、装置、系统、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |