CN104618252A - 一种路由器的接口体系的构建方法 - Google Patents
一种路由器的接口体系的构建方法 Download PDFInfo
- Publication number
- CN104618252A CN104618252A CN201510094691.0A CN201510094691A CN104618252A CN 104618252 A CN104618252 A CN 104618252A CN 201510094691 A CN201510094691 A CN 201510094691A CN 104618252 A CN104618252 A CN 104618252A
- Authority
- CN
- China
- Prior art keywords
- interface
- router
- client
- namespace
- openapi
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种路由器的接口体系的构建方法,其能够使得接口体系清晰、便于进行功能扩展、便于调用者使用、接口在本地和远程皆可调用、***安全性强。该方法包括:构造基于命名空间的接口体系、构造消息通道、配置权限认证、配置输入输出参数格式。
Description
技术领域
本发明属于路由器的技术领域,具体地涉及一种路由器的接口体系的构建方法。
背景技术
传统的路由器,其内部各种功能通过直接调用指令来完成,各种不同的功能有不同的实现方式、不同的参数形式和调用方式,功能划分不清晰。接口没有一个统一的接口输入输出框架,不便于进行功能扩展,也不便于调用者使用。
另一方面,传统的路由器的接口只能在本地调用,只有本地网络中才能对路由器进行操作,而无法远程进行信息查看和参数设置,可扩展性较差。
再一方面,传统的路由器的接口权限控制(权限控制指对不通的调用者,限制他们接口调用的范围,保证***的安全性和可控性)较为简单,只要有后台密码,就可以调用所有接口,而无法进行权限划分,比如某些调用者只能查看信息,某些调用者可以有更多高权限的功能,这样造成路由器使用时安全性较低。
发明内容
本发明要解决的技术解决问题是:克服现有技术的不足,提供一种路由器的接口体系的构建方法,其能够使得接口体系清晰、便于进行功能扩展、便于调用者使用、接口在本地和远程皆可调用、***安全性强。
本发明的技术解决方案是:这种路由器的接口体系的构建方法,该方法包括:构造基于命名空间的接口体系、构造消息通道、配置权限认证、配置输入输出参数格式;
在构造基于命名空间的接口体系中,路由器对外提供的API方法由嵌入式动态语言lua编写,以namespace命名空间来组织,各级空间以点号分割,命名空间分为三个层次,权限范围逐步变小,下面的层次隶属于上一层,是上一层功能的子集;
在构造消息通道中,路由器端作为一个消息接收者同cloud-client对接,服务器端则作为一个业务***同cloud-server通信,服务器端采用同步调用接口同cloud服务器进行通信,API的接口调用路径包括本地和服务器端;
在配置权限认证中,API调用者使用预先分配的app_key和app_secret来对请求签名,服务器端直接调用openapi.hiwifi.com,客户端通过openapi.hiwifi.com和指定路由器绑定以后,通过请求域名client.openapi.hiwifi.com直接调用被绑定路由器里面的接口。
本发明按照命名空间划分出具体的接口所属***,使得接口体系清晰;本发明通过构造消息通道,使得云服务器端和路由器端同时调用,而无需做任何切换,实现透明的调用效果,便于进行功能扩展、便于调用者使用、接口在本地和远程皆可调用;本发明在配置权限认证中实现了权限授权和校验功能,可以对不同的使用者授予不同的权限,保证***的安全性和可控性。
附图说明
图1示出了根据本发明的API的namespace的结构设计。
图2示出了根据本发明的加密消息通道的一个优选实施例。
图3示出了根据本发明的openapi调用路径。
图4示出了根据本发明的远程调用API框架。
具体实施方式
这种路由器的接口体系的构建方法,该方法包括:构造基于命名空间(命名空间是一种范围划分方法,将相关的事务合并到同一个分类中)的接口体系、构造消息通道、配置权限认证、配置输入输出参数格式;
在构造基于命名空间的接口体系中,路由器对外提供的API方法由嵌入式动态语言lua编写,以namespace命名空间来组织,各级空间以点号分割,命名空间分为三个层次,权限范围逐步变小,下面的层次隶属于上一层,是上一层功能的子集;
在构造消息通道中,路由器端作为一个消息接收者同cloud-client对接,服务器端则作为一个业务***同cloud-server通信,服务器端采用同步调用接口同cloud服务器(指路由器开发厂商所拥有的,部署在机房的服务器,与路由器端是相对的概念)进行通信,API的接口调用路径包括本地和服务器端;
在配置权限认证中,API调用者使用预先分配的app_key和app_secret来对请求签名,服务器端直接调用openapi.hiwifi.com,客户端通过openapi.hiwifi.com和指定路由器绑定以后,通过请求域名client.openapi.hiwifi.com直接调用被绑定路由器里面的接口。
本发明按照命名空间划分出具体的接口所属***,使得接口体系清晰;本发明通过构造消息通道,使得云服务器端和路由器端同时调用,而无需做任何切换,实现透明的调用效果,便于进行功能扩展、便于调用者使用、接口在本地和远程皆可调用;本发明在配置权限认证中实现了权限授权和校验功能,可以对不同的使用者授予不同的权限,保证***的安全性和可控性。
优选地,在构造基于命名空间的接口体系中,接口通过lua的module模块来进行组织,相关的接口封装在同一个module模块中。
优选地,在配置权限认证中,通过请求域名client.openapi.hiwifi.com直接调用被绑定路由器里面的接口成功以后,openapi.hiwifi.com返回一个client_secret,调用client.openapi.hiwifi.com用此client_secret来请求签名。
优选地,在配置输入输出参数格式中,输入参数格式为输入调用者的id、调用者申请的名字、调用的设备MAC地址、调用的方法名、调用的接口所需要的参数,输出参数格式为输出路由器返回代码、路由器返回文字描述、路由器对应接口返回数据、平台返回代码、平台返回文字描述、平台返回其他数据。
优选地,在配置输入输出参数格式中,API框架接口调用格式使用POST方式提交JSON(JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。基于JavaScript的一个子集。JSON采用完全独立于语言的文本格式,性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,网络传输速度快)格式的请求数据,HTTP header中的Content-Type设为application/json,action包含绑定、解除绑定、调用API、获取状态;加密认证通过对POST的数据算出一个校验码sign并作为一个参数。
以下给出一个具体实施例。
这种路由器的接口体系的构建方法,该方法包括:构造基于命名空间的接口体系、构造消息通道、配置权限认证、配置输入输出参数格式。
1、基于命名空间的接口体系
路由器对外提供的API方法由嵌入式动态语言lua编写。为了更合理的分配和管理接口,方法以namespace命名空间来组织,各级空间以点号分割,如system.os.restart,其结构如图1所示。命名空间总共分为三个层次,权限范围逐步变小。下面的层次隶属于上一层,是上一层功能的子集。接口通过lua的module模块来进行组织,相关的接口封装在同一个module中,比如上述restart接口属于openapi.system.os这个module。
2、消息通道
API框架***在基于极路由的加密消息通道实现,加密消息通道如图2所示。在路由器端作为一个消息接收者同cloud-client对接,服务器端则作为一个业务***同cloud-server通信,为了提高接口调用速度,服务器端采用同步调用接口同cloud服务器进行通信。API的接口调用路径有两个,本地和服务器端,其结构如图3所示。
3、权限认证
为了调用API,调用者需要使用预先分配的app_key和app_secret来对请求签名。
该框架同时支持服务器和客户端调用,服务器直接调用openapi.hiwifi.com。客户端通过openapi.hiwifi.com和特定路由器绑定以后,可通过请求域名client.openapi.hiwifi.com直接调用被绑定路由器里面的接口。绑定成功以后openapi.hiwifi.com返回一个client_secret,调用client.openapi.hiwifi.com需要用此client_secret来请求签名。在路由器的局域网内,client.openapi.hiwifi.com这个域名会被拦截到路由器本身,因此客户端只要访问client.openapi.hiwifi.com就可以直接访问到路由器而不经过外网,这样可以提高接口调用速度。
4、输入输出参数格式
API框架接口调用格式如下:
https://openapi.hiwifi.com/{action}?sign={sign}
使用POST方式提交JSON格式的请求数据,HTTP header中的Content-Type需要设为application/json,action包含bind(绑定)、unbind(解除绑定)、call(调用api)、status(获取状态)。
加密认证通过对POST的数据算出一个校验码sign并作为一个参数,算法如下:
$str=$action.$jsonbody.$app_secret;
$sign=md5($str);
app_id是每个外部调用者的编号,app_secret是每个外部调用者的密匙。
为了方便管理和调用,框架设计了一个统一的输入输出数据格式,其中输入参数格式如下:
输出参数格式如下:
本发明在实际部署时的***框架如图4所示。
对***的进一步的说明如下:
1.***对路由器中的所有功能按照命名空间的方式进行组织。
2.路由器对外提供本地和远程调用的接口,只要调用者和被调用的设备都在线,即可实现调用的效果。
3.***内部包含一个权限认证模块,所有对接口的调用都需要包含认证信息,路由器本地对调用者的合法性和权限进行校验,对不合法的或者超出权限范围的调用直接返回相应错误信息。
本发明的有益效果体现在:
1.接口体系的清晰:采用本方案使得路由器整体接口构成清晰易懂,便于对***所具有的功能进行整体规划和调整。
2.功能的可扩展性:采用本方案,新增一个功能模块式只需要对应的新增加一个命名空间中的子空间,即可将接口融入原有的体系中。
3.接口调用的便捷性和易用性:采用本方案,输入输出数据格式都是标准化的,适用于多种语言和多种平台,可以跨平台调用,同时提供远程调用的机制,可以通过网络远程对路由器进行信息查看和远程控制。
4.权限认证的灵活性和安装性:采用本方案,可以明确划分不通调用者的调用权限,对权限进行灵活且严格的控制,防止传统路由器中一旦密码丢失则所有接口都暴露在调用者面前的问题,不通的调用者只能在权限范围内活动。保证了***的安全性。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
Claims (5)
1.一种路由器的接口体系的构建方法,其特征在于:该方法包括:构造基于命名空间的接口体系、构造消息通道、配置权限认证、配置输入输出参数格式;
在构造基于命名空间的接口体系中,路由器对外提供的API方法由嵌入式动态语言lua编写,以namespace命名空间来组织,各级空间以点号分割,命名空间分为三个层次,权限范围逐步变小,下面的层次隶属于上一层,是上一层功能的子集;
在构造消息通道中,路由器端作为一个消息接收者同cloud-client对接,服务器端则作为一个业务***同cloud-server通信,服务器端采用同步调用接口同cloud服务器进行通信,API的接口调用路径包括本地和服务器端;
在配置权限认证中,API调用者使用预先分配的app_key和app_secret来对请求签名,服务器端直接调用openapi.hiwifi.com,客户端通过openapi.hiwifi.com和指定路由器绑定以后,通过请求域名client.openapi.hiwifi.com直接调用被绑定路由器里面的接口。
2.根据权利要求1所述的路由器的接口体系的构建方法,其特征在于:在构造基于命名空间的接口体系中,接口通过lua的module模块来进行组织,相关的接口封装在同一个module模块中。
3.根据权利要求2所述的路由器的接口体系的构建方法,其特征在于:在配置权限认证中,通过请求域名client.openapi.hiwifi.com直接调用被绑定路由器里面的接口成功以后,openapi.hiwifi.com返回一个client_secret,调用client.openapi.hiwifi.com用此client_secret来请求签名。
4.根据权利要求3所述的路由器的接口体系的构建方法,其特征在于:在配置输入输出参数格式中,输入参数格式为输入调用者的id、调用者申请的名字、调用的设备MAC地址、调用的方法名、调用的接口所需要的参数,输出参数格式为输出路由器返回代码、路由器返回文字描述、路由器对应接口返回的数据、平台返回代码、平台返回文字描述、平台返回其他数据。
5.根据权利要求3所述的路由器的接口体系的构建方法,其特征在于:在配置输入输出参数格式中,API框架接口调用格式使用POST方式提交json格式的请求数据,HTTP header中的Content-Type设为application/json,action包含绑定、解除绑定、调用API、获取状态;加密认证通过对POST的数据算出一个校验码sign并作为一个参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510094691.0A CN104618252A (zh) | 2015-03-03 | 2015-03-03 | 一种路由器的接口体系的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510094691.0A CN104618252A (zh) | 2015-03-03 | 2015-03-03 | 一种路由器的接口体系的构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104618252A true CN104618252A (zh) | 2015-05-13 |
Family
ID=53152538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510094691.0A Pending CN104618252A (zh) | 2015-03-03 | 2015-03-03 | 一种路由器的接口体系的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618252A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170541A (zh) * | 2017-12-22 | 2018-06-15 | 努比亚技术有限公司 | 一种接口调用方法、设备及计算机可读存储介质 |
CN112818325A (zh) * | 2021-01-30 | 2021-05-18 | 浪潮云信息技术股份公司 | 一种基于应用实现api网关独立鉴权的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611619A (zh) * | 2012-02-24 | 2012-07-25 | 中兴通讯股份有限公司 | 一种转发数据报文的方法和路由设备 |
CN102739526A (zh) * | 2012-06-13 | 2012-10-17 | 烽火通信科技股份有限公司 | 一种高效分布式路由表的实现方法 |
CN103118144A (zh) * | 2013-01-22 | 2013-05-22 | 北京傲天动联技术股份有限公司 | 一种无线接入控制器及其远程接口代理方法 |
CN103248497A (zh) * | 2012-02-01 | 2013-08-14 | 上海博路信息技术有限公司 | 一种基于位置的数据广播*** |
US20130301522A1 (en) * | 2012-05-14 | 2013-11-14 | Juniper Networks, Inc. | Inline network address translation within a mobile gateway router |
CN104243210A (zh) * | 2014-09-17 | 2014-12-24 | 湖北盛天网络技术股份有限公司 | 远程访问路由器管理页面的方法和*** |
-
2015
- 2015-03-03 CN CN201510094691.0A patent/CN104618252A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248497A (zh) * | 2012-02-01 | 2013-08-14 | 上海博路信息技术有限公司 | 一种基于位置的数据广播*** |
CN102611619A (zh) * | 2012-02-24 | 2012-07-25 | 中兴通讯股份有限公司 | 一种转发数据报文的方法和路由设备 |
US20130301522A1 (en) * | 2012-05-14 | 2013-11-14 | Juniper Networks, Inc. | Inline network address translation within a mobile gateway router |
CN102739526A (zh) * | 2012-06-13 | 2012-10-17 | 烽火通信科技股份有限公司 | 一种高效分布式路由表的实现方法 |
CN103118144A (zh) * | 2013-01-22 | 2013-05-22 | 北京傲天动联技术股份有限公司 | 一种无线接入控制器及其远程接口代理方法 |
CN104243210A (zh) * | 2014-09-17 | 2014-12-24 | 湖北盛天网络技术股份有限公司 | 远程访问路由器管理页面的方法和*** |
Non-Patent Citations (1)
Title |
---|
梁军等: "《REST风格人力资源类互联网应用***设计与优化》", 《计算机工程与应用》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170541A (zh) * | 2017-12-22 | 2018-06-15 | 努比亚技术有限公司 | 一种接口调用方法、设备及计算机可读存储介质 |
CN108170541B (zh) * | 2017-12-22 | 2021-08-24 | 努比亚技术有限公司 | 一种接口调用方法、设备及计算机可读存储介质 |
CN112818325A (zh) * | 2021-01-30 | 2021-05-18 | 浪潮云信息技术股份公司 | 一种基于应用实现api网关独立鉴权的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190089788A1 (en) | Intelligent Household Energy Internet of Things System for Intelligent City System | |
CN107947357B (zh) | 一种基于安全接入区的配电自动化数据采集装置及方法 | |
CN105610706B (zh) | 一种面向物联网控制***的智能网关平台 | |
CN106488525B (zh) | 一种ip动态绑定的无线网络构建方法及相应网络架构 | |
CN103825745B (zh) | 基于Home‑IOT云关对用户进行认证的方法及*** | |
CN102665216B (zh) | 一种可扩展的分布式wlan网络用户认证方法 | |
CN106899571A (zh) | 信息交互方法及装置 | |
CN104767741A (zh) | 一种基于轻型虚拟机的计算服务分离与安全保护*** | |
CN105281912A (zh) | 基于移动网络的电网运行调度*** | |
CN205453754U (zh) | 一种面向物联网控制***的智能网关平台 | |
CN104618252A (zh) | 一种路由器的接口体系的构建方法 | |
CN102946398A (zh) | 一种双网隔离环境下的数字证书*** | |
CN107749854A (zh) | 基于客户端的单点登录方法及*** | |
CN103259689A (zh) | 一种对设备进行密码变更以及发生故障后密码恢复的方法 | |
CN105429867A (zh) | 一种融合型家庭网关及其应用服务的访问方法 | |
CN216819851U (zh) | 一种变电站内安全接入装置 | |
CN206865472U (zh) | 基于数字签名的互联网下电力设备安全控制*** | |
CN109754149A (zh) | 电力通信可信后台管理***、终端和电力通信可信*** | |
CN104580997A (zh) | 一种视频监控管理*** | |
CN204349586U (zh) | 箱变远程监控*** | |
CN110428215B (zh) | 智能机器人数据信息相互交互安全可靠传输办理方法和*** | |
CN105939358A (zh) | 一种能源管理云平台的数据安全处理方法 | |
CN103391187A (zh) | 一种云存储安全控制的方法 | |
CN106454839A (zh) | 一种智能终端的网络接入方法和装置 | |
CN106211136A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150513 |
|
WD01 | Invention patent application deemed withdrawn after publication |