CN113810300A - 一种路由器及多页面并行访问路由器的方法 - Google Patents

一种路由器及多页面并行访问路由器的方法 Download PDF

Info

Publication number
CN113810300A
CN113810300A CN202111112027.6A CN202111112027A CN113810300A CN 113810300 A CN113810300 A CN 113810300A CN 202111112027 A CN202111112027 A CN 202111112027A CN 113810300 A CN113810300 A CN 113810300A
Authority
CN
China
Prior art keywords
page
identifier
message mapping
message
session
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.)
Pending
Application number
CN202111112027.6A
Other languages
English (en)
Inventor
邵长利
雷鹏
黄东杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hisense Broadband Multimedia Technology Co Ltd
Original Assignee
Hisense Broadband Multimedia Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hisense Broadband Multimedia Technology Co Ltd filed Critical Hisense Broadband Multimedia Technology Co Ltd
Priority to CN202111112027.6A priority Critical patent/CN113810300A/zh
Publication of CN113810300A publication Critical patent/CN113810300A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17312Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供了一种路由器及多页面并行访问路由器的方法,路由器包括接口与CPU,接口用于接收至少一个页面请求信息,及发送响应消息;CPU用于根据页面请求信息获取对应页面的页面身份标识,判断消息映射列表中是否包含与页面身份标识对应的消息映射单元,根据是否包含消息映射单元新建或更新对应消息映射单元中的会话校验标识,并根据新建或更新后的会话校验标识生成响应消息。本申请中,客户端向路由器发送多个页面请求信息,路由器同时校验不同页面对应的会话校验标识,不同页面之间的会话校验互不影响,校验成功后对页面进行配置操作,实现了多配置页面并行操作,从而提高了路由器配置效率,改善了用户体验。

Description

一种路由器及多页面并行访问路由器的方法
技术领域
本申请涉及家庭路由器技术领域,尤其涉及一种路由器及多页面并行访问路由器的方法。
背景技术
随着物联网技术的高速发展,人们对于家庭智能组网终端要求越来越高,应用场景越来越复杂,同时也对性能稳定性提出更高的要求。在这种情况下,提高组网终端的核心路由器性能势在必行。
为使路由器处于最佳工作状态,必须对路由器进行相关参数配置,Web管理页面配置是当今市面上路由器配置最简单常用的方法,也是研发、测试、维修人员和用户最直接、最有效的调试、管理路由器的途径。Web客户端和服务器之间通过HTTP交互,HTTP协议由两部分程序实现:一个客户端程序和一个服务器程序,它们运行在不同的端系统中,客户端和服务器端通过交换HTTP报文进行会话。客户端Web页通过HTTP Get向服务器请求数据页面,通过HTTP Post请求提交要被处理的数据到服务器端。
目前市面上存在的路由器配置页面使用的策略有以下几种情况:一种是不校验seesion,多个页面同时打开时,一个页面A配置之后,再回到其他相同URL的配置页面B仍能配置,这样存在的问题是B页面不知道A页面配置的内容,这种情况下重复配置会导致之前B页面配置的内容会被覆盖,既不能解决数据冲突问题,配置安全性低;第二种是为了保证数据安全性,每一个在客户端的HTTP Post请求到达服务器时,在做Post请求的操作之前必须校验其session合法性,而每次打开新页面发送HTTP Get请求都会更新session,这种情况会导致之前打开的页面session校验失败从而不能配置,这样虽然解决了数据冲突的问题,但是网页配置路由器都是打开一页做配置之后,配置其他页面需要切换到其他页面,观察路由器网速等状态需要切换到相关状态页。不熟悉配置页面的用户更是面临多次切换以寻找或来回切换以记住自己配置参数的问题,这样导致使用配置管理页面的时候必须频繁切换网页,操作繁琐,浪费时间,降低了访问浏览器的效率,使得用户体验变差;还有一种情况是在打开多个页面C、D的情况下,网页C设置后,回到网页D点击配置,网页D配置不会成功,而是做了一个刷新操作,刷新到网页C,这样虽然可以解决数据冲突问题,但是也存在不能多页面同时操作,需要频繁切换,配置效率低。
发明内容
本申请实施例提供了一种路由器及多页面并行访问路由器的方法,以解决固件文件中的分段数据加密后数据量变大,不利于加密后数据保存的问题。
第一方面,本申请提供了一种路由器,包括:
接口,被配置为,接收至少一个页面请求信息,及发送响应消息;
CPU,被配置为,根据所述页面请求信息获取对应页面的页面身份标识;判断消息映射列表中是否包含与所述页面身份标识对应的消息映射单元,根据是否包含所述消息映射单元新建或更新对应消息映射单元中的会话校验标识;根据新建或更新后的会话校验标识生成响应消息。
第二方面,本申请还提供了一种多页面并行访问路由器的方法,所述方法包括:
接收至少一个携带请求页面信息的HTTP Get请求信息;
根据所述HTTP Get请求信息获取对应页面的页面身份标识;
判断消息映射列表中是否包含与所述页面身份标识对应的消息映射单元;
当所述消息映射列表中包含与所述页面身份标识对应的消息映射单元,则更新所述消息映射单元中的会话校验标识;
当所述消息映射列表中不包含与所述页面身份标识对应的消息映射单元,则新建一条消息映射单元,并在新建的消息映射单元中新建对应的会话校验标识;
根据新建或更新后的会话校验标识生成响应消息。
本申请提供的路由器包括接口与CPU,接口用于接收至少一个页面请求信息,及发送响应消息;CPU用于根据页面请求信息获取对应页面的页面身份标识,判断消息映射列表中是否包含与页面身份标识对应的消息映射单元,根据是否包含消息映射单元新建或更新对应消息映射单元中的会话校验标识,并根据新建或更新后的会话校验标识生成响应消息。本申请通过消息映射列表存储不同页面身份标识的会话校验标识,不同页面校验不同的会话校验标识,当客户端同时打开多个页面时,即客户端向路由器发送多个页面请求信息时,路由器的CPU可同时校验不同页面的会话校验标识,不同页面之间的会话校验互不影响,校验成功后对页面进行配置操作,能够实现多配置页面并行操作,从而能够提高路由器配置效率,改善用户体验。
附图说明
图1为本申请实施例提供的一种路由器的结构框图;
图2为根据一些实施例的消息映射列表示意图;
图3为本申请实施例提供的多页面并行访问路由器的方法的流程图一;
图4为本申请实施例提供的多页面并行访问路由器的方法的流程图二;
图5为本申请实施例提供的状态页面的定时刷新拓扑结构示意图。
具体实施方式
为便于对申请的技术方案进行描述,以下首先在对本申请所涉及到的一些概念进行说明。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前市面上存在的路由器配置页面使用的策略有以下几种情况:一种是不校验session,多个页面同时打开时,一个页面A配置之后,再回到其他相同URL(UniformResource Locator,统一资源定位系统)的配置页面B仍能配置,这样存在的问题是B页面不知A页面配置的内容,这种情况下重复配置会导致之前A页面配置的内容被覆盖,即不能解决数据冲突的问题,配置安全性低;第二种是为了保证数据安全性,每一个来自客户端的HTTP Post请求到达路由器时,在做Post(向指定的资源提交要被处理的数据)请求的操作之前校验其session合法性,而每次打开新页面发送HTTP Get(从指定的资源请求数据)请求都会更新session,这种情况会导致之前打开的页面session校验失败从而不能配置,这样虽然解决了数据冲突的问题,但是网页配置路由器都是打开一页做配置之后,配置其他页面需要切换到其他页面,观察路由器网速等状态需要切换到相关状态页。不熟悉配置页面的用户更是面临多次切换以寻找或来回切换以记住自己配置的参数问题,这样导致使用配置管理页面的时候必须频繁切换网页,操作繁琐,浪费时间,降低了访问浏览器的效率,也使用户体验变差。
为了解决上述问题,本申请在路由器中,使用消息映射列表存储不同pageId的sessionId,不同page校验不同sessionId,这样不同页面同时操作的时候不存在sessionId校验失败的情况,即使在涉及大数据量操作的情况下,也可以在不浪费大量存储空间的前提下让页面并行操作,提高访问效率。
图1为本申请实施例提供的路由器的结构框图。如图1所示,本申请实施例提供的路由器包括接口与CPU,接口被配置为接收至少一个页面请求信息,及发送响应消息;CPU被配置为,根据页面请求信息获取对应页面的页面身份标识,判断消息映射列表中是否包含与页面身份标识对应的消息映射单元,根据是否包含消息映射单元新建或更新对应消息映射单元中的会话校验标识,并根据新建或更新后的会话校验标识生成响应消息。
客户端包括接口与MCU,客户端的接口与路由器的接口通过有线网线或无线WIFI连接,当用户想打开客户端的页面时,用户点击客户端的页面,客户端的MCU生成页面请求信息,该页面请求信息通过客户端的接口发送至路由器的接口,路由器接口将接收到页面请求信息传递至路由器的CPU进行处理。
为实现多页面同时操作,在客户端使用点击目的URL不同于当前URL的一级菜单的时候会打开新窗口的形式,方便用户在不需要手动打开新的窗口输入URL的情况下打开多个浏览器窗口,而点击二级、三级菜单不需要在新窗口打开而是直接跳转是为了用户在寻找自己需要的配置页时不必频繁打开新窗口浪费浏览器资源。
客户端发送的页面请求信息到达路由器后,路由器首先校验其session合法性。为了实现多会话同时操作路由器,路由器在校验session的时候增加了pageId匹配,以保证不同会话单元使用不同sessionId校验。即不同页面校验不同sessionId,如此不同页面同时操作的时候不存在sessionid校验失败的情况。而为了实现session校验功能,在路由器的CPU上创建由消息映射单元组成的消息映射列表page_session_id_table,每个页面对应一个消息映射单元,由pageId、sessionId、actionTime组成。
图2为根据一些实施例示出的消息映射列表示意图。如图2所示,消息映射列表由多个消息映射单元组成,每个消息映射单元由pageId、sessionId、actionTime组成。其中,
pageId:页面身份标识,每个消息映射单元的pageId在表中唯一,一个URL对应一个pageId,它保证session校验以page页为单位进行,不同URL校验不同pageId的sessionId,从而保证同一时间不同URL访问均可以session校验成功。而同一URL的page页校验其对应pageId的sessionId,又可以避免同一页面同时操作引起数据存取冲突的问题。
sessionId:会话校验标识,pageId对应的sessionId为服务器端产生的10位随机码,用于对应会话单元在CPU的校验模块的session校验。
actionTime:最新会话单元操作时间,用于CPU的定时轮询模块的超时校验,以减少数据冗余,提高匹配效率。
客户端向路由器发送的页面请求信息可为HTTP Get请求信息,即客户端向路由器发送了HTTP Get页面请求信息后,路由器根据请求信息获取页面的pageId,并查询消息映射列表page_session_id_table,查看消息映射列表page_session_id_table中是否包含与pageId对应的消息映射单元,并对此做出相应的操作。
客户端向路由器发送的HTTP Get请求信息格式形如:
GET/html/firewall.html?v=0.2690174636478657?HTTP/1.1
Host:192.168.2.1
Connection:keep-alive
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0(Windows NT 6.1;Win64;x64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/75.0.3770.100Safari/537.36
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Referer:http://192.168.2.1/html/main.html?V=0.3801372427644172
Accept-Encoding:gzip,deflate
Accept-Language:zh-CN,zh;q=0.9,en;q=0.8
Cookie:sessionid=8f657419472ce1e502c5be2d5fe93e7a
客户端发送携带请求页面身份信息(示例中的firewall.html)的HTTP Get请求信息到路由器,路由器的CPU接收到该HTTP Get请求信息,根据请求页面信息获取页面身份标识pageId(由httpd_conn结构体的encodedurl属性解析页面信息),查询CPU中数据存储模块的消息映射列表page_session_id_table,根据是否含有该pageId对应的消息映射单元做不同的操作。
当消息映射列表中包含有与页面身份标识对应的消息映射单元时,更新页面身份标识对应的会话校验标识与最新会话操作时间至对应的消息映射单元,根据更新后的会话校验标识与请求页面生成HTTP响应消息。
具体地,当消息映射列表page_session_id_table中含有该pageId对应的消息映射单元,则更新该会话映射信息的sessionId及actionTime到此消息映射单元,同时返回给客户端含新sessioId和请求消息结果的HTTP消息响应到客户端。CPU将更新后的sessionId返回至客户端,说明该页面的session校验成功,用户就可通过客户端对页面的配置参数进行配置。
当消息映射列表中不包含与页面身份标识对应的消息映射单元时,新建一条消息映射单元,生成新的会话校验标识与会话单元操作时间,将页面身份标识、新的会话校验标识与会话单元操作时间保存至新建的消息映射单元,根据新建的会话校验标识与请求页面生成HTTP响应消息。
具体地,当消息映射列表page_session_id_table中没有该pageId对应的消息映射单元,则新建一条消息映射单元,生成新的sessionId及actionTime,保存到该消息映射单元,同时返回给客户端含新建sessionId和请求消息结果的HTTP消息响应到客户端。CPU将新建的sessionId返回至客户端,说明该页面的session校验成功,用户就可通过客户端对页面的配置参数进行配置。
当客户端同时对多个页面进行操作时,客户端向路由器发送多个HTTP Get请求信息,CPU分别根据多个HTTP Get请求信息获取每个页面对应的页面身份标识,在CPU的数据存储模块的消息映射列表page_session_id_table,可能含有某一pageId的消息映射单元,此时CPU更新该消息映射单元中的sessionId及actionTime,并将更新后的ssionId返回客户端,实现对该pageId的session校验;可能不含有某一pageId的消息映射单元,此时CPU在消息映射列表中新建一条消息映射单元,生成与pageId对应的sessionId,同时生成actionTime,将pageId、sessionId与actionTime保存至新建的消息映射单元中,并将新建的sessionId返回客户端,实现对该pageId的session校验。
客户端除了向路由器发送携带请求页面信息的HTTP Get请求外,还会根据实际需求向路由器发送携带pageId与sessionId的HTTP Post请求,如对配置页面的参数进行配置后,需要打开相关状态页面,以观察该状态页面参数的即时变化。对此,路由器的接口还用于接收携带页面身份标识与会话校验标识的HTTP Post请求信息;CPU还用于获取HTTPPost请求信息中的页面身份标识与会话校验校验标识,根据消息映射列表中的数据校验其页面身份标识对应的会话校验标识是否合法,从而做不同操作。
客户端向路由器发送的HTTP Post请求信息格式形如:
POST/cgi-bin/ajax HTTP/1.1
Host:192.168.2.1
Connection:keep-alive
Content-Length:118
Origin:http://192.168.2.1
User-Agent:Mozilla/5.0(Windows NT 6.1;Win64;x64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/75.0.3770.100 Safari/537.36
Content-type:application/x-www-form-urlencoded
Accept:*/*
Referer:http://192.168.2.1/html/firewall.html?v=0.2690174636478657
Accept-Encoding:gzip,deflate
Accept-Language:zh-CN,zh;q=0.9,en;q=0.8
Enable=1&LEVEL=high&DOSFEnable=1&sessionId=NPzLAkOacV&pageId=firewall&ajaxmethod=set_firewall_info&_=0.12568987302996404
客户端发送携带页面身份标识pageId和会话校验标识sessionId的HTTP Post请求到路由器,路由器根据CPU中数据存储模块的消息映射列表page_session_id_table校验其pageId对应sessionId是否合法,即校验携带的sessionId与消息映射列表中pageId对应的sessionId是否一致。
当根据消息映射列表page_session_id_table校验出pageId对应的sessionId合法时,CPU做HTTP Post请求对应操作,并更新sessionId与actionTime,保存更新后的sessionId与actionTime到该pageId对应的消息映射单元,生成含更新后sessionId及操作结果的HTTP响应消息,并将HTTP响应消息通过接口返回到客户端。
当根据消息映射列表page_session_id_table校验出pageId对应的sessionId不合法时,CPU不会对该HTTP Post请求做任何操作,生成session校验失败的HTTP响应消息,并将该HTTP响应消息通过接口返回至客户端。
在一些实施例中,为了避免对数据的随意篡改,本申请设定了多会话同时操作的合法范围,不同会话仅限于同一登录IP下的多会话,不适用于不同IP登录,避免异地登录对数据的违法篡改。
在一些实施例中,每一个消息映射单元生存周期开始于客户端发送的第一条含其对应URL的HTTP Get请求,结束于CPU的定时轮询模块的超时老化。因此,需定时轮询消息映射列表,查看消息映射列表中的某一条消息映射单元是否已超时老化。
路由器接收到客户端发送的HTTP Get请求信息或HTTP Post请求信息后,路由器的CPU在根据HTTP Get请求信息或HTTP Post请求信息更新或新建sessionId时,也会更新或新建actionTime,该actionTime为最新的会话单元操作时间,可根据该actionTime判定是否老化消息映射列表中对应的消息映射单元。
具体地,CPU的定时模块定时轮询消息映射列表page_session_id_table,根据消息映射单元中的actionTime与当前系统时间,获取该会话单元的最近操作历史时长,对比最近操作历史时长与预设的超时时间确定该消息映射单元是或否超时,超时则老化此消息映射单元,即从消息映射列表中将该消息映射单元取出,从而减少校验模块查询数量,以减少数据冗余,提高校验速率。
对于需要实时监控数据的状态页面(不存在设置数据),添加定时刷新功能,这样可以在操作人员不手动刷新的前提下也可以实时监控数据变化。为了实现状态页面的刷新,路由器的接口还用于定时接收刷新请求;CPU还用于检测刷新请求中是否携带刷新标识,当刷新请求中携带刷新标识时,刷新页面信息,根据消息映射列表中对应消息映射单元的会话校验标识与刷新后的页面信息生成响应消息。
具体地,客户端定时向路由器发送flag为checkOnly的刷新请求用于校验sessionId的有效性,从而确定是否为最新数据,如果是则不做操作,继续定时发送该消息,如果不是则客户端发送flag为refreshOnly的刷新请求,带请求的响应为带最新值的页面信息和CPU现存最新sessionId的消息。
路由器的CPU使用不同于普通刷新方式(即刷新sessionId也刷新数据)的新的刷新方式,即带有刷新标识flag的刷新请求,可在保证数据安全的前提下实现页面操作。如果涉及同一设置页面多次打开,可防止原页面如果继续保持可操作性状态导致在用户不知情的情况下将之前未刷新的数据继续设置下去。
本申请提供的路由器包括接口与CPU,接口用于接收至少一个页面请求信息,及发送响应消息;CPU用于根据页面请求信息获取对应页面的页面身份标识,查询消息映射列表中的消息映射单元,根据消息映射列表中是否包含与页面身份标识对应的消息映射单元,新建或更新消息映射单元中的会话校验标识,并根据新建或更新后的会话校验标识生成响应消息。本申请通过消息映射列表存储不同页面身份标识的会话校验标识,不同页面校验不同的会话校验标识,当客户端同时打开多个页面时,即客户端向路由器发送多个页面请求信息时,路由器的CPU可同时校验不同页面的会话校验标识,不同页面之间的会话校验互不影响,校验成功后对页面进行配置操作,实现了多配置页面并行操作,从而提高了路由器配置效率,改善了用户体验。
基于上述实施例所述的路由器,本申请实施例还提供了一种多页面并行访问路由器的方法,该方法解决了路由器管理配置页面不能多页面同时操作,配置多个参数需要频繁切换页面,影响使用效率;不能边配置边观察相关状态参数,影响性能分析的问题。
在客户端与路由器之间进行请求-响应时,两种最长被用到的方法是Get和Post,Get为从指定的资源请求数据,Post为向指定的资源提交要被处理的数据。客户端向路由器发送HTTP Get请求信息以多页面并行访问路由器的方法如下:
图3为本申请实施例提供的多页面并行访问路由器的方法的流程图一。如图3所示,本申请实施例提供的多页面并行访问路由器的方法包括:
S110:接收至少一个携带请求页面信息的HTTP Get请求信息。
S210:根据HTTP Get请求信息获取对应页面的页面身份标识。
S310:判断消息映射列表中是否包含与页面身份标识对应的消息映射单元。
S410:当消息映射列表中包含与页面身份标识对应的消息映射单元时,更新消息映射单元中的会话校验标识。
S510:当消息映射列表中不包含与页面身份标识对应的消息映射单元时,新建一条消息映射单元,并在新建的消息映射单元中新建对应的会话校验标识。
S610:根据新建或更新后的会话校验标识生成响应消息。
客户端向路由器发送的HTTP Get请求格式形如:
GET/html/firewall.html?v=0.2690174636478657?HTTP/1.1
Host:192.168.2.1
Connection:keep-alive
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0(Windows NT 6.1;Win64;x64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/75.0.3770.100 Safari/537.36
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Referer:http://192.168.2.1/html/main.html?V=0.3801372427644172
Accept-Encoding:gzip,deflate
Accept-Language:zh-CN,zh;q=0.9,en;q=0.8
Cookie:sessionid=8f657419472ce1e502c5be2d5fe93e7a
客户端发送携带请求页面身份信息(示例中的firewall.html)的HTTP Get请求到路由器,路由器的CPU接收到HTTP Get请求后,根据请求页面信息获取页面标识pageId(由http_conn结构体的encodedurl属性解析页面信息),查询数据存储模块的消息映射列表page_session_id_table,根据是否含有该pageId对应的消息映射单元做不同操作。
如果消息映射列表page_session_id_table中含有该pageId对应的消息映射单元,则更新该会话映射信息的sessionId及actionTime到此消息映射单元,同时返回给客户端含更新后sessionId和请求消息结果的HTTP响应消息到客户端。
如果消息映射列表page_session_id_table中没有该pageId对应的消息映射单元,则新建一条消息映射单元,生成新的sessionId及actionTime,保存新的sessionId及actionTime到新建的消息映射单元,同时返回给客户端含新的sessionId和请求消息结果的HTTP响应消息到客户端。
客户端向路由器发送HTTP Post请求信息以多页面并行访问路由器的方法如下:
图4为本申请实施例提供的多页面并行访问路由器的方法的流程图二。如图4所示,本申请实施例提供的多页面并行访问路由器的方法包括:
S120:接收携带页面身份标识与会话校验标识的HTTP Post请求信息。
S220:获取HTTP Post请求信息中的页面身份标识与会话校验标识。
S320:判断携带的会话检验标识、消息映射列表中与页面身份标识对应的会话检验标识是否一致。
S420:当携带的会话校验标识与页面身份标识对应的会话检验标识一致时,更新消息映射列表中对应消息映射单元的会话校验标识与最新会话单元操作时间,根据更新后的会话校验标识与请求页面生成响应消息。
S520:当携带的会话校验标识与页面身份标识对应的会话校验标识不一致时,生成校验失败的响应消息。
客户端向路由器发送的HTTP Post请求信息格式形如:
POST/cgi-bin/ajax HTTP/1.1
Host:192.168.2.1
Connection:keep-alive
Content-Length:118
Origin:http://192.168.2.1
User-Agent:Mozilla/5.0(Windows NT 6.1;Win64;x64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/75.0.3770.100 Safari/537.36
Content-type:application/x-www-form-urlencoded
Accept:*/*
Referer:http://192.168.2.1/html/firewall.html?v=0.2690174636478657
Accept-Encoding:gzip,deflate
Accept-Language:zh-CN,zh;q=0.9,en;q=0.8
Enable=1&LEVEL=high&DOSFEnable=1&sessionId=NPzLAkOacV&pageId=firewall&ajaxmethod=set_firewall_info&_=0.12568987302996404
客户端发送携带页面身份标识pageId和会话校验标识sessionId的HTTP Post请求到路由器,路由器根据数据存储模块的消息映射列表page_session_id_table检验其pageId对应sessionId是否合法。
如果校验此sessionId合法,则做HTTP Post请求对应操作,并更新sessionId及actionTime,保存更新后的sessionId及actionTime到该pageId对应消息映射单元,同时返回含更新后的sessionId及操作结果的HTTP响应消息到客户端。
如果校验此sessionId不合法,则路由器不会对该HTTP Post请求做任何操作,并反馈给客户端sessionId校验失败的HTTP响应消息。
路由器的定时轮询模块用于老化过期映射关系,即定时轮询模块定时轮询消息映射列表page_session_id_table,根据消息映射列表中各个消息映射单元的actionTime与当前系统时间,获取该会话单元的最近操作历史时长,对比预设的超时时间确定该消息映射单元是否超时,超时则老化此会话单位记录,即从消息映射列表中将其对应的消息映射单元去除,从而减少校验模块查询数量,以减少数据冗余,提高校验速率。
对于需要实时监控数据的状态页面(不存在设置数据),添加定时刷新功能,这样可以在操作人员不手动刷新的前提下也可以实时监控数据变化。
为在保证数据安全的前提下实现页面操作,本申请使用不同于普通刷新方式的新的刷新方式,即带有flag的刷新请求。客户端定时发送flag为checkOnly的刷新请求用于校验sessionId有效性从而确定是否为最新数据,如果是则不做操作,继续定时发送该消息,如果不是则客户端发送flag为refreshOnly的刷新请求,带请求的响应为带最新值的页面信息和路由器现存最新sessionId的消息。
图5为本申请实施例提供的状态页面的定时刷新拓扑结构示意图。如图5所示,对状态页面进行定时刷新的具体实现方式如下:
客户端定期向路由器发送带当前页面href、加标识flag=checkOnly和sessionId信息的HTTP消息。
GET/html/firewall.html?&flag=checkOnly&sessionid=kzJbMjvm3m HTTP/1.1
Host:192.168.2.1
Connection:keep-alive
User-Agent:Mozilla/5.0(Windows NT 6.1;Win64;x64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/75.0.3770.100Safari/537.36
Accept:image/webp,image/apng,image/*,*/*;q=0.8
Referer:http://192.168.2.1/html/main.html?V=0.024087505473286308
Accept-Encoding:gzip,deflate
Accept-Language:zh-CN,zh;q=0.9,en;q=0.8
Cookie:sessionid=8f657419472ce1e502c5be2d5fe93e7a
If-Modified-Since:Thu,01 Jan 1970 00:03:26 GMT
路由器接收到该HTTP消息,对比携带的sessionId信息与对应消息映射单元中的sessionId,返回sessionId是否相同的信息。
客户端收到返回的sessionId是否相同的信息后,如果被告知sessionId相同,则不做任何操作;如果被告知sessionId不相同,则发送新的刷新请求,该刷新请求非手动触发,加标识flag=refreshOnly,区别于普通Get请求。
GET/html/firewall.html?flag=refreshOnly HTTP/1.1
Host:192.168.2.1
Connection:keep-alive
User-Agent:Mozilla/5.0(Windows NT 6.1;Win64;x64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/75.0.3770.100 Safari/537.36
Accept:image/webp,image/apng,image/*,*/*;q=0.8
Referer:http://192.168.2.1/html/main.html?&V=0.024087505473286308
Accept-Encoding:gzip,deflate
Accept-Language:zh-CN,zh;q=0.9,en;q=0.8
Cookie:sessionid=8f657419472ce1e502c5be2d5fe93e7a
If-Modified-Since:Thu,01 Jan 1970 00:03:26 GMT
路由器接收到客户端发送的新的刷新请求后,除不更新路由器的sessionId外,做与普通Get请求相同的反应,即返回带最新值的页面信息和路由器现存最新sessionId到客户端。
本申请实施例提供的多页面并行访问路由器的方法中,在客户端点击与当前页面不同的URL的一级菜单的时候会打开新窗口的形式,方便用户在不用自己打开新的窗口输入URL情况下打开多个浏览器窗口;在路由器创建数据存储模块,使用消息映射列表存储不同pageId的sessionId,不同page校验不同sessionId,这样不同页面同时的时候不存在sessionId校验失败的情况,即使在涉及大数据量操作的情况下,也可以在不浪费大量存储空间的前提下让页面并行操作,提高访问效率;同时多页面并行能捕捉到配置信息相关状态的即使变化,为路由器性能分析提供便利。即在保证数据操作不冲突、不浪费大量内存空间的情况下解决管理页面配置过程中频繁切换的问题,从而提高了配置效率,改善了用户体验。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种路由器,其特征在于,包括:
接口,被配置为,接收至少一个页面请求信息,及发送响应消息;
CPU,被配置为,根据所述页面请求信息获取对应页面的页面身份标识;判断消息映射列表中是否包含与所述页面身份标识对应的消息映射单元,根据是否包含所述消息映射单元新建或更新对应消息映射单元中的会话校验标识;根据新建或更新后的会话校验标识生成响应消息。
2.根据权利要求1所述的路由器,其特征在于,所述CPU还被配置为,当所述消息映射列表中包含与所述页面身份标识对应的消息映射单元时,更新所述页面身份标识对应的会话校验标识与最新会话单元操作时间至对应的消息映射单元,根据更新后的会话校验标识与请求页面生成HTTP响应消息。
3.根据权利要求1所述的路由器,其特征在于,所述CPU还被配置为,当所述消息映射列表中不包含与所述页面身份标识对应的消息映射单元时,新建一条消息映射单元,生成新的会话校验标识与会话单元操作时间,将所述页面身份标识、新的所述会话校验标识与所述会话单元操作时间保存至新建的消息映射单元,根据新建的会话校验标识与请求页面生成HTTP响应消息。
4.根据权利要求1所述的路由器,其特征在于,所述接口还被配置为,接收携带页面身份标识与会话校验标识的HTTP Post请求信息。
5.根据权利要求4所述的路由器,其特征在于,所述CPU还被配置为,获取所述HTTPPost请求信息中的所述页面身份标识与所述会话校验标识,当根据消息映射列表校验携带的所述会话校验标识合法时,更新消息映射列表中对应消息映射单元的会话校验标识与最新会话单元操作时间,根据更新后的会话校验标识与请求页面生成响应消息。
6.根据权利要求4所述的路由器,其特征在于,所述CPU还被配置为,所述CPU还被配置为,获取所述HTTP Post请求信息中的所述页面身份标识与所述会话校验标识,当根据消息映射列表校验携带的所述会话校验标识不合法时,生成校验失败的响应消息。
7.根据权利要求2-6任一项所述的路由器,其特征在于,所述CPU还被配置为,根据所述消息映射单元中的最新会话单元操作时间与当前系统时间,获取操作历史时长,当所述操作历史时长超过预设超时时间时,从所述消息映射列表中去除超时的消息映射单元。
8.根据权利要求1所述的路由器,其特征在于,所述接口还被配置为,定时接收携刷新请求;
所述CPU还被配置为,检测所述刷新请求中是否携带刷新标识,当所述刷新请求中携带所述刷新标识时,刷新页面信息;根据所述消息映射列表中对应消息映射单元的会话校验标识与刷新后的页面信息生成响应消息。
9.一种多页面并行访问路由器的方法,其特征在于,所述方法包括:
接收至少一个携带请求页面信息的HTTP Get请求信息;
根据所述HTTP Get请求信息获取对应页面的页面身份标识;
判断消息映射列表中是否包含与所述页面身份标识对应的消息映射单元;
当所述消息映射列表中包含与所述页面身份标识对应的消息映射单元,则更新所述消息映射单元中的会话校验标识;
当所述消息映射列表中不包含与所述页面身份标识对应的消息映射单元,则新建一条消息映射单元,并在新建的消息映射单元中新建对应的会话校验标识;
根据新建或更新后的会话校验标识生成响应消息。
10.根据权利要求9所述的多页面并行访问路由器的方法,其特征在于,所述方法还包括:
接收携带页面身份标识与会话校验标识的HTTP Post请求信息;
获取所述HTTP Post请求信息中的所述页面身份标识与所述会话校验标识;
判断携带的所述会话校验标识、消息映射列表中与所述页面身份标识对应的会话校验标识是否一致;
当携带的所述会话校验标识与所述页面身份标识对应的会话校验标识一致时,更新所述消息映射列表中对应消息映射单元的会话校验标识与最新会话单元操作时间,根据更新后的会话校验标识与请求页面生成响应消息;
当携带的所述会话校验标识与所述页面身份标识对应的会话校验标识不一致时,生成校验失败的响应消息。
CN202111112027.6A 2021-09-23 2021-09-23 一种路由器及多页面并行访问路由器的方法 Pending CN113810300A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111112027.6A CN113810300A (zh) 2021-09-23 2021-09-23 一种路由器及多页面并行访问路由器的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111112027.6A CN113810300A (zh) 2021-09-23 2021-09-23 一种路由器及多页面并行访问路由器的方法

Publications (1)

Publication Number Publication Date
CN113810300A true CN113810300A (zh) 2021-12-17

Family

ID=78896232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111112027.6A Pending CN113810300A (zh) 2021-09-23 2021-09-23 一种路由器及多页面并行访问路由器的方法

Country Status (1)

Country Link
CN (1) CN113810300A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020198882A1 (en) * 2001-03-29 2002-12-26 Linden Gregory D. Content personalization based on actions performed during a current browsing session
US20090182643A1 (en) * 2008-01-10 2009-07-16 Cableorganizer.Com, Inc. System And Method For Tracking A User's Navigation On A Website And Enabling A Customer Service Representative To Replicate The User's State
CN103841111A (zh) * 2014-03-17 2014-06-04 北京京东尚科信息技术有限公司 一种防止数据重复提交的方法和服务器
CN103973641A (zh) * 2013-01-29 2014-08-06 国际商业机器公司 管理不同网站的会话的方法及装置
CN107872507A (zh) * 2017-08-25 2018-04-03 成都萌想科技有限责任公司 一种防止页面重复提交的方法
CN109151064A (zh) * 2018-10-15 2019-01-04 程桂平 在云计算平台上处理cookies的方法
CN110825479A (zh) * 2019-11-05 2020-02-21 江苏满运软件科技有限公司 页面处理方法、装置、终端设备、服务器和存储介质
CN111858087A (zh) * 2020-06-22 2020-10-30 中国平安财产保险股份有限公司 数据提交校验方法、装置、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020198882A1 (en) * 2001-03-29 2002-12-26 Linden Gregory D. Content personalization based on actions performed during a current browsing session
US20090182643A1 (en) * 2008-01-10 2009-07-16 Cableorganizer.Com, Inc. System And Method For Tracking A User's Navigation On A Website And Enabling A Customer Service Representative To Replicate The User's State
CN103973641A (zh) * 2013-01-29 2014-08-06 国际商业机器公司 管理不同网站的会话的方法及装置
CN103841111A (zh) * 2014-03-17 2014-06-04 北京京东尚科信息技术有限公司 一种防止数据重复提交的方法和服务器
CN107872507A (zh) * 2017-08-25 2018-04-03 成都萌想科技有限责任公司 一种防止页面重复提交的方法
CN109151064A (zh) * 2018-10-15 2019-01-04 程桂平 在云计算平台上处理cookies的方法
CN110825479A (zh) * 2019-11-05 2020-02-21 江苏满运软件科技有限公司 页面处理方法、装置、终端设备、服务器和存储介质
CN111858087A (zh) * 2020-06-22 2020-10-30 中国平安财产保险股份有限公司 数据提交校验方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US8650297B2 (en) Unified user interface for network management systems
US8392963B2 (en) Techniques for tracking actual users in web application security systems
CN107864143B (zh) 自演进的高效的代理资源供应系统及方法
CN103067194A (zh) 一种终端在线状态监控方法及系统
CN108134692A (zh) 一种基于标识图形的故障处理方法以及系统
CN109889454A (zh) 一种微服务架构的消息推送装置及方法
CN111355986B (zh) 一种直播间中的消息处理方法、装置和存储介质
CN112437047A (zh) 一种远程服务器管理方法、系统及相关装置
CN103546343A (zh) 网络流量分析系统的网络流量展示方法和系统
CN112968963B (zh) 基于WebSocket进行用户强制实时下线的方法
CN112733001B (zh) 获取订阅信息的方法、装置和电子设备
US20150149629A1 (en) User online state querying method and apparatus
CN1917427B (zh) 一种快速恢复门户认证环境的方法和装置
AU2020204110A1 (en) Real-time aggregation system and aggregation method for distributed marine online monitoring data
CN113132477B (zh) 一种浏览器终端与设备的实时传输交互方法及系统
CN109587210A (zh) 一种多浏览器兼容的信息推送的实现方法
CN112966262A (zh) 一种操作日志的生成方法、装置、电子设备及存储介质
CN109067622A (zh) 状态探测方法、装置及网络服务器
CN113810300A (zh) 一种路由器及多页面并行访问路由器的方法
CN112000544A (zh) 一种物联网设备大屏实时监控方法
CN111831513A (zh) 日志查询方法、装置、电子设备、及存储介质
CN111427703A (zh) 工业数据实时展示方法及系统
CN110650055A (zh) 广电网络设备监测方法及系统
CN117714262A (zh) 设备故障检测方法、装置、设备及存储介质
Cisco Polling---The Event Generation Process

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