一种对业务路由报文进行处理的方法和业务节点的利记博彩app
【技术领域】
[0001] 本发明涉及数据处理技术领域,具体涉及一种对业务路由报文进行处理的方法和 业务节点。
【背景技术】
[0002] 业务链(英文为Service Chaining)技术,是一种引导网络业务报文次序通过多 个业务节点(英文为Service Node,英文缩写为SN)的转发技术,其中,业务报文在各个节 点之间的转发行为称为业务路由。
[0003] 目前,业务报文在各SN之间进行转发时,需要给原始报文封装上业务路由头中, 该业务路由头用于指导业务报文的转发行为,同时,也会在封装信息中携带元数据(英文 为metadata),元数据可以是业务路由器(英文为Service Router,英文缩写为SR)产生或 SN自身产生,并可以被修改。
[0004] 对于SN的入口报文标准,大体上可以分为两类,一类是:到达SN的报文是原始报 文时,SN可以直接接收、处理并发送。另一类是:到达SN的报文是带有业务路由头信息及 元数据的业务路由报文,这时,SN需要在接收到业务路由报文时,能够识别并剥离业务路由 头,对原始报文处理完成后,能够为原始报文封装适当的业务路由头,并发送至SR。
[0005] 现有技术方案中,SN中的应用(英文为Application,英文缩写为APP)层直接 通过网络驱动层获取业务路由报文,自行剥离业务路由头,识别原始报文并处理,处理完成 后,APP层自行为报文封装适当的业务路由头,并通过网络驱动层发出。
[0006] 本发明的发明人发现,现有技术中业务路由的相关信息全部暴露给APP层,存在 安全隐患。
【发明内容】
[0007] 本发明实施例提供一种对业务路由报文进行处理的方法,可以由业务节点SN中 的套接字单元对业务路由报文进行业务路由信息的处理,SN中的应用程序单元不需要获知 业务路由的相关信息,只对业务进行处理,从而避免业务路由的相关信息暴露给SN中的应 用程序单元,提高了业务路由的安全性。本发明实施例还提供了相应的业务节点。
[0008] 本发明第一方面提供一种对业务路由报文进行处理的方法,包括:
[0009] 业务节点SN中的套接字单元创建第一套接字,所述第一套接字用于对第一报文 进行监听,所述第一报文为属于第一业务路由类型的业务路由报文,所述第一报文包括业 务路由信息和待处理报文;
[0010] 所述套接字单元根据所述第一套接字确定所述SN接收到所述第一报文;
[0011] 所述套接字单元保存所述待处理报文和第二套接字的对应关系,其中所述第二套 接字与所述业务路由信息相对应;
[0012] 所述套接字单元从所述SN中的应用程序单元接收报文获取请求,所述报文获取 请求用于请求与所述第二套接字对应的所述待处理报文;
[0013] 所述套接字单元根据所述报文获取请求和所述对应关系确定所述待处理报文为 被请求的报文;
[0014] 所述套接字单元通过向所述应用程序单元发送针对所述报文获取请求的响应的 方式,向所述应用程序单元发送所述待处理报文。
[0015] 结合第一方面,在第一种可能的实现方式中,所述方法还包括:
[0016] 所述套接字单元从所述应用程序单元接收与所述第二套接字对应的已处理报文, 所述已处理报文是由所述应用程序单元对所述待处理报文进行处理而得到的;
[0017] 所述套接字单元根据与所述已处理报文相对应的所述第二套接字,确定所述业务 路由信息;
[0018] 向业务路由器SR发送第二报文,所述第二报文为包括所述已处理报文的业务路 由报文,所述第二报文的业务路由信息包括所述业务路由信息。
[0019] 结合第一方面或第一方面第一种可能的实现方式,在第二种可能的实现方式中, 所述套接字单元保存所述待处理报文和所述第二套接字的对应关系具体包括:
[0020] 所述套接字单元在接收到所述第一报文时,如果所述套接字单元中未保存所述第 二套接字,则创建所述第二套接字,并将所述待处理报文添加至与所述第二套接字对应的 报文队列中。
[0021] 结合第一方面或第一方面第一种可能的实现方式,在第三种可能的实现方式中, 所述套接字单元保存所述待处理报文和所述第二套接字的对应关系具体包括:
[0022] 所述套接字单元在接收到所述第一报文时,如果所述套接字单元中保存有所述第 二套接字,则将所述待处理报文添加至与所述第二套接字对应的报文队列中。
[0023] 结合第一方面、第一方面第一种至第三种可能的实现方式中的任意一种,在第四 种可能的实现方式中,所述套接字单元从所述SN中的应用程序单元接收包括所述第二套 接字的报文获取请求之前,所述方法还包括:
[0024] 所述套接字单元向所述应用程序单元发送所述第二套接字。
[0025] 结合第一方面、第一方面第一种至第四种可能的实现方式中的任意一种,在第五 种可能的实现方式中,所述套接字单元通过向所述应用程序单元发送针对所述报文获取请 求的响应的方式,向所述应用程序单元发送所述待处理报文,包括:
[0026] 所述套接字单元向所述应用程序单元发送针对所述报文获取请求的响应,所述响 应中携带所述待处理报文的存储地址;
[0027] 所述应用程序单元根据所述存储地址,获取所述待处理报文。
[0028] 结合第一方面、第一方面第一种至第五种可能的实现方式中的任意一种,在第六 种可能的实现方式中,所述套接字单元通过向所述应用程序单元发送针对所述报文获取请 求的响应的方式,向所述应用程序单元发送所述待处理报文,包括:
[0029] 所述套接字单元向所述应用程序单元发送针对所述报文获取请求的响应,所述响 应中携带所述待处理报文。
[0030] 本发明第二方面提供一种业务节点,包括:套接字单元和应用程序单元;
[0031] 所述套接字单元包括:
[0032] 创建子单元,用于创建第一套接字,所述第一套接字用于对第一报文进行监听,所 述第一报文为属于第一业务路由类型的业务路由报文,所述第一报文包括业务路由信息和 待处理报文;
[0033] 确定子单元,用于根据所述创建子单元创建的所述第一套接字确定所述SN接收 到所述第一报文;
[0034] 保存子单元,用于保存所述待处理报文和第二套接字的对应关系,其中所述第二 套接字与所述业务路由信息相对应;
[0035] 接收子单元,用于从所述SN中的应用程序单元接收报文获取请求,所述报文获取 请求用于请求与所述第二套接字对应的所述待处理报文;
[0036] 所述确定子单元,还用于根据所述接收子单元接收的所述报文获取请求和所述保 存子单元保存的所述对应关系确定所述待处理报文为被请求的报文;
[0037] 发送子单元,用于通过向所述应用程序单元发送针对所述报文获取请求的响应的 方式,向所述应用程序单元发送所述确定子单元确定的所述待处理报文。
[0038] 结合第二方面,在第一种可能的实现方式中,
[0039] 所述接收子单元,还用于从所述应用程序单元接收与所述第二套接字对应的已处 理报文,所述已处理报文是由所述应用程序单元对所述待处理报文进行处理而得到的;
[0040] 所述确定子单元,还用于根据与所述接收子单元接收的所述已处理报文相对应的 所述第二套接字,确定所述业务路由信息;
[0041] 所述发送子单元,还用于向业务路由器SR发送第二报文,所述第二报文为包括所 述已处理报文的业务路由报文,所述第二报文的业务路由信息包括所述确定子单元确定的 所述业务路由信息。
[0042] 结合第二方面或第二方面第一种可能的实现方式,在第二种可能的实现方式中,
[0043] 所述创建子单元,还用于在所述接收子单元接收到所述第一报文时,如果所述保 存子单元中未保存所述第二套接字,则创建所述第二套接字;
[0044] 所述保存子单元,具体用于将所述待处理报文添加至与所述创建子单元创建的所 述第二套接字对应的报文队列中。
[0045] 结合第二方面或第二方面第一种可能的实现方式,在第三种可能的实现方式中,
[0046] 所述保存子单元,具体用于在所述接收子单元接收到所述第一报文时,如果所述 保存子单元中保存有所述第二套接字,则将所述待处理报文添加至与所述第二套接字对应 的报文队列中。
[0047] 结合第二方面、第二方面第一种至第三种可能的实现方式中的任意一种,在第四 种可能的实现方式中,
[0048] 所述发送子单元,还用于从所述SN中的应用程序单元接收包括所述第二套接字 的报文获取请求之前,向所述应用程序单元发送所述第二套接字。
[0049] 结合第二方面、第二方面第一种至第四种可能的实现方式中的任意一种,在第五 种可能的实现方式中,
[0050] 所述发送子单元,用于向所述应用程序单元发送针对所述报文获取请求的响应, 所述响应中携带所述待处理报文的存储地址;
[0051] 所述应用程序单元,用于根据所述存储地址,获取所述待处理报文。
[0052] 结合第二方面、第二方面第一种至第五种可能的实现方式中的任意一种,在第六 种可能的实现方式中,
[0053] 所述发送子单元,用于向所述应用程序单元发送针对所述报文获取请求的响应, 所述响应中携带所述待处理报文。
[0054] 本发明实施例业务节点SN中的套接字单元创建第一套接字,所述第一套接字用 于对第一报文进行监听,所述第一报文为属于第一业务路由类型的业务路由报文,所述第 一报文包括业务路由信息和待处理报文;所述套接字单元根据所述第一套接字确定所述 SN接收到所述第一报文;所述套接字单元保存所述待处理报文和第二套接字的对应关系, 其中所述第二套接字与所述业务路由信息相对应;所述套接字单元从所述SN中的应用程 序单元接收报文获取请求,所述报文获取请求用于请求与所述第二套接字对应的所述待处 理报文;所述套接字单元根据所述报文获取请求和所述对应关系确定所述待处理报文为被 请求的报文;所述套接字单元通过向所述应用程序单元发送针对所述报文获取请求的响应 的方式,向所述应用程序单元发送所述待处理报文。与现有技术中业务路由的相关信息全 部暴露给APP层,存在安全隐患相比,本发明实施例提供的对业务路由报文进行处理的方 法,可以由业务节点SN中的套接字单元对业务路由报文进行业务路由信息的处理,SN中