首页 > 专利 > 上海斐讯数据通信技术有限公司 > 一种处理报文的方法专利详情

一种处理报文的方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2015-07-23
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2015-12-30
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2019-06-07
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2035-07-23
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201510437962.8 申请日 2015-07-23
公开/公告号 CN105119981B 公开/公告日 2019-06-07
授权日 2019-06-07 预估到期日 2035-07-23
申请年 2015年 公开/公告年 2019年
缴费截止日 2022-08-23
分类号 H04L29/08H04L12/863 主分类号 H04L29/08
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 5
权利要求数量 6 非专利引证数量 0
引用专利数量 2 被引证专利数量 0
非专利引证
引用专利 CN104506642A、CN103856440A 被引证专利
专利权维持 5 专利申请国编码 CN
专利事件 转让 事务标签 公开、实质审查、授权、权利转移
申请人信息
申请人 第一申请人
专利权人 上海斐讯数据通信技术有限公司 当前专利权人 南京峻尧环境技术有限公司
发明人 杭旭 第一发明人 杭旭
地址 上海市松江区思贤路3666号 邮编 201620
申请人数量 1 发明人数量 1
申请人所在省 上海市 申请人所在市 上海市松江区
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州千克知识产权代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
周希良
摘要
本发明公开了一种处理报文的方法,用于基于CPE广域网管理协议的客户端,包括下述步骤:S1.所述客户端与一服务器建立长连接;S2.所述客户端监听所述长连接是否有数据包传送,若是,执行步骤S3;若否,执行步骤S4;S3.所述客户端对所述数据包进行解析,根据解析结果创建对应的任务,并将所述任务添加至一预设的队列中,返回执行所述步骤S2;S4.所述客户端根据预设的所述队列的顺序逐条处理所述队列中的所述任务,并将所述任务的处理结果发送至所述服务器,返回执行所述步骤S2。本发明避免了报文交互过程中容易出错的情形,提高了通道利用率。
  • 摘要附图
    一种处理报文的方法
  • 说明书附图:图1
    一种处理报文的方法
  • 说明书附图:图2
    一种处理报文的方法
  • 说明书附图:图3
    一种处理报文的方法
  • 说明书附图:图4
    一种处理报文的方法
  • 说明书附图:图5
    一种处理报文的方法
  • 说明书附图:图6
    一种处理报文的方法
  • 说明书附图:图7
    一种处理报文的方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2021-03-16 专利权的转移 登记生效日: 2021.03.04 专利权人由南京峻尧环境技术有限公司变更为湖州帷幄知识产权运营有限公司 地址由210000 江苏省南京市鼓楼区汉中门大街301号外包服务大厦C座5楼变更为313000 浙江省湖州市吴兴区爱山街道新天地商务写字楼1019室
2 2019-06-07 授权
3 2015-12-30 实质审查的生效 IPC(主分类): H04L 29/08 专利申请号: 201510437962.8 申请日: 2015.07.23
4 2015-12-02 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种处理报文的方法,用于基于CPE广域网管理协议的客户端,其特征在于,包括下述步骤:
S
1.所述客户端与一服务器建立长连接;
S
2.所述客户端监听所述长连接是否有数据包传送,若是,执行步骤S3;若否,执行步骤S4;
S
3.所述客户端对所述数据包进行解析,根据解析结果创建对应的任务,并将所述任务添加至一预设的队列中,返回执行所述步骤 S2;
S
4.所述客户端根据预设的所述队列的顺序逐条处理所述队列中的所述任务,并将所述任务的处理结果发送至所述服务器,返回执 行所述步骤S2;
每一所述数据包中包括复数条报文,每一条所述报文对应一条所述任务;
所述步骤S3包括:
S
31.所述客户端对所述数据包进行解析,获取所述数据包中的复数条所述报文;
S
32.所述客户端根据获取的所述报文创建与所述报文对应的所述任务;
S
33.所述客户端根据所述数据包的包头指示的顺序,将所述报文对应的所述任务添加于所述队列中。

2.如权利要求1所述的方法,其特征在于,在执行所述S3之前,还包括:
所述客户端提供一缓冲区用以存储接收到的所述数据包,并从所述缓冲区中读取所述数据包。

3.如权利要求1所述的方法,其特征在于,在执行所述步骤S4 之前还包括:
判断所述队列中是否存在未执行的所述任务,若是,执行所述步骤S4;若否,返回执行所述步骤S2。

4.如权利要求1所述的方法,其特征在于,在所述步骤S4中,每处理一条所述任务,将所述任务的处理结果发送至所述服务器。

5.如权利要求1所述的方法,其特征在于,在所述步骤S4中,根据所述队列的顺序逐条将所述队列中的所有所述任务处理完成后,根据所述队列的顺序逐一将每条所述任务的处理结果发送至所述服 务器。

6.如权利要求1所述的方法,其特征在于,所述步骤S4中,还包括:
提供一预定周期;
所述步骤S4中,于所述预定周期内,根据所述队列的顺序,逐条执行所述队列中的所述任务,并将每条所述任务的处理结果发送至所述服务器。
说明书

技术领域

[0001] 本发明涉及网络领域,尤其涉及一种基于长连接用于处理报文的方法。

背景技术

[0002] 传统的TR-069(CPE广域网管理协议)客户端普遍是基于会话机制与服务器短连接,为了解决服务器控制内网TR-069客户端的问题,需要将原本在开始会话时建立连接在结束会话时断开连接的短连接改为客户端启动后主动连接服务器且连接建立后连接一直保持不断的长连接。虽然长连接的引入解决服务器控制内网TR-069客户端的问题,但却引入了另一个问题:原本的会话机制无法正确工作,并且要求服务器和客户端必须按照顺序交互报文,只能等一个交互会话结束后才能开始另一个会话,如图1所示:服务器(Server)向客户端(Client)发送一空报文以通知客户端开始会话(session),客户端通知(Inform)服务器准备就绪,服务器通过远程过程调用协议(Remote Procedure Call Protocol,RPC)向客户端发送处理报文,客户端将处理报文进行处理并通过RPC协议向服务器回复处理结果,服务器向客户端发送通知响应(Inform Response),结束会话。一旦会话乱序就会导致客户端处理异常。但由于长连接一直处于连接状态的特点,致使只要上层有需要就会通过服务器向客户端发送报文,因此会发生如图2所示的会话错误(session error)。

发明内容

[0003] 针对现有的基于会话机制的长连接存在的上述问题,现提供一种旨在实现基于长连接可避免报文交互过程中出错情形的处理报文的方法。
[0004] 具体技术方案如下:
[0005] 一种处理报文的方法,用于基于CPE广域网管理协议的客户端,包括下述步骤:
[0006] S1.所述客户端与一服务器建立长连接;
[0007] S2.所述客户端监听所述长连接是否有数据包传送,若是,执行步骤S3;若否,执行步骤S4;
[0008] S3.所述客户端对所述数据包进行解析,根据解析结果创建对应的任务,并将所述任务添加至一预设的队列中,返回执行所述步骤S2;
[0009] S4.所述客户端根据预设的所述队列的顺序逐条处理所述队列中的所述任务,并将所述任务的处理结果发送至所述服务器,返回执行所述步骤S2。
[0010] 优选的,在执行所述S3之前,还包括:
[0011] 所述客户端提供一缓冲区用以存储接收到的所述数据包,并从所述缓存区中读取所述数据包。
[0012] 优选的,每一所述数据包中包括复数条报文,每一条所述报文对应一条所述任务。
[0013] 优选的,所述步骤S3包括:
[0014] S31.所述客户端对所述数据包进行解析,获取所述数据包中的复数条所述报文;
[0015] S32.所述客户端根据获取的所述报文创建与所述报文对应的所述任务;
[0016] S33.所述客户端根据所述数据包的包头指示的顺序,将所述报文对应的所述任务添加于所述队列中。
[0017] 优选的,在执行所述步骤S4之前还包括:
[0018] 判断所述队列中是否存在未执行的所述任务,若是,执行所述步骤S4;若否,返回执行所述步骤S2。
[0019] 优选的,在所述步骤S4中,每处理一条所述任务,将所述任务的处理结果发送至所述服务器。
[0020] 优选的,在所述步骤S4中,根据所述队列的顺序逐条将所述队列中的所有所述任务处理完成后,根据所述队列的顺序逐一将每条所述任务的处理结果发送至所述服务器。
[0021] 优选的,所述步骤S4中,还包括:
[0022] 提供一预定周期;
[0023] 所述步骤S4中,于所述预定周期内,根据所述队列的顺序,逐条执行所述队列中的所述任务,并将每条所述任务的处理结果发送至所述服务器。
[0024] 上述技术方案的有益效果:
[0025] 本技术方案中,处理报文的方法用于监听长连接是否有数据包传输,当有数据包传输时,对数据包进行解析,根据解析结果创建任务,并将任务添加于预设的队列中;当没有数据包传输时,集中处理队列中的所有任务,并将处理结果发送至服务器,避免了报文交互过程中容易出错的情形,提高了通道利用率。

实施方案

[0033] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0034] 需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0035] 下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0036] 本发明基于如下发现:
[0037] 现有的长连接主要基于原始TR-069客户端的会话机制,原始的会话机制主要是为了保证报文顺序不乱序,如图1所示。但是基于长连接的客户端如果要处理服务器下发的并发无序报文,会发生如图2所示的会话错误。因此需要改进长连接的处理机制。可通过如下三种方法进行改进:
[0038] 第一种方法:用多进程的方法,通过子进程处理会话,这样多个会话可以并发;
[0039] 第二种方法:使用多线程,每个线程处理一个会话;
[0040] 第三种方法:使用单进程并采用任务队列方式。
[0041] 上述第一种方法和第二种方法对硬件要求较高,适合在多核,大内存的处理平台上使用。目前很多大型服务器是使用多进程,多线程方法来处理十万级,百万级的并发访问。而对于家庭网关这种网络终端设备,处理能力有限,并且并发数不会太多,多进程或多线程的处理方法会额外开销系统资源。所以本发明采取第三种方法,即采用任务队列的方式,以避免多条报文交互过程中出错的情形。
[0042] 如图3-4所示,一种处理报文的方法,用于基于CPE广域网管理协议的客户端,包括下述步骤:
[0043] S1.客户端与一服务器建立长连接;
[0044] S2.客户端监听长连接是否有数据包传送,若是,执行步骤S3;若否,执行步骤S4;
[0045] S3.客户端对数据包进行解析,根据解析结果创建对应的任务,并将任务添加至一预设的队列中,返回执行步骤S2;
[0046] S4.客户端根据预设的队列的顺序逐条处理队列中的任务,并将任务的处理结果发送至服务器,返回执行步骤S2。
[0047] 在本实施例中,处理报文的方法用于监听长连接是否有数据包传输,当有数据包传输时,对数据包进行解析,根据解析结果创建任务,并将任务添加于预设的队列中;当没有数据包传输时,集中处理队列中的所有任务,并将处理结果发送至服务器,避免了报文交互过程中容易出错的情形,提高了通道利用率。
[0048] 如图5所示,在优选的实施例中,在执行S3之前,还包括:
[0049] 客户端提供一缓冲区用以存储接收到的数据包,并从缓存区中读取数据包。
[0050] 在本实施例中,通过缓冲区存储数据包以供客户端读取数据包中的数据。
[0051] 在优选的实施例中,每一数据包中包括复数条报文,每一条报文对应一条任务。
[0052] 在本实施例中,每一数据包中可包括一条或多条报文。
[0053] 如图6所示,在优选的实施例中,步骤S3包括:
[0054] S31.客户端对数据包进行解析,获取数据包中的复数条报文;
[0055] S32.客户端根据获取的报文创建与报文对应的任务;
[0056] S33.客户端根据数据包的包头指示的顺序,将报文对应的任务添加于队列中。
[0057] 在本实施例中,客户端对数据包进行解析以获取数据包中的报文,并建立相应的任务,根据数据包的包头顺序将与报文对应的任务添加于任务队列中,根据队列中的任务顺序逐一进行处理,从而避免了报文交互过程中出错的情形,提高了通道利用率。
[0058] 如图7所示,在优选的实施例中,在执行步骤S4之前还包括:
[0059] 判断队列中是否存在未执行的任务,若是,执行步骤S4;若否,返回执行步骤S2。
[0060] 在本实施例中,判断队列中是否存在未执行的任务,若队列中有未执行的任务,则暂停监听长连接是否有数据包传送,根据队列的顺序逐条处理队列中的任务;若队列中没有未执行的任务,则返回步骤S2监听长连接是否有数据包传送。
[0061] 在优选的实施例中,在步骤S4中,每处理一条任务,将任务的处理结果发送至服务器。
[0062] 进步一地,处理结果为处理正确或处理错误。
[0063] 在本实施例中,客户端可每处理一条任务就向服务器发送一条处理结果,避免了报文乱序的问题。
[0064] 在优选的实施例中,在步骤S4中,根据队列的顺序逐条将队列中的所有任务处理完成后,根据队列的顺序逐一将每条任务的处理结果发送至服务器。
[0065] 进步一地,处理结果为处理正确或处理错误。
[0066] 在本实施例中,客户端可将队列中的所有任务处理完后,根据处理任务的先后顺序逐一向服务器发送处理结果,避免了报文乱序的问题。
[0067] 在优选的实施例中,步骤S4中,还包括:
[0068] 提供一预定周期;
[0069] 步骤S4中,于预定周期内,根据队列的顺序,逐条执行队列中的任务,并将每条任务的处理结果发送至服务器。
[0070] 以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

附图说明

[0026] 图1为现有的会话机制的交互图;
[0027] 图2为现有的会话机制层出错场景交互图;
[0028] 图3为本发明的任务队列机制的交互图;
[0029] 图4为本发明所述的处理报文的方法的第一种实施例的方法流程图;
[0030] 图5为本发明所述的处理报文的方法的第二种实施例的方法流程图;
[0031] 图6为本发明所述的处理报文的方法的第三种实施例的方法流程图;
[0032] 图7为本发明所述的处理报文的方法的第四种实施例的方法流程图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号