CN108011877B - 基于osgi的ip地址获取方法、装置、计算机设备和存储介质 - Google Patents
基于osgi的ip地址获取方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108011877B CN108011877B CN201711226790.5A CN201711226790A CN108011877B CN 108011877 B CN108011877 B CN 108011877B CN 201711226790 A CN201711226790 A CN 201711226790A CN 108011877 B CN108011877 B CN 108011877B
- Authority
- CN
- China
- Prior art keywords
- address
- osgi
- server
- service request
- specified memory
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于OSGI的IP地址获取方法和装置。本发明基于OSGI的IP地址获取方法,适用于服务器对请求方设备进行实时监控的过程中,所述方法包括:在开放服务网关协议OSGI框架下,所述服务器在所述OSGI框架中集成springMVC;所述服务器接收所述请求方设备发送的业务请求,所述业务请求包括所述请求方设备的网络协议IP地址;所述服务器根据继承自所述springMVC的类将所述业务请求保存至指定的内存中;所述服务器通过调用预先生成的IP地址获取接口从所述指定的内存中提取得到所述IP地址。本发明实现请求方设备的IP地址的获取,可以及时根据请求方设备的IP地址对请求方的行为进行高效且合理的监管和流量控制。
Description
技术领域
本发明实施例涉及软件开发技术,尤其涉及一种基于OSGI的IP地址获取方法和装置。
背景技术
随着现代信息化的进步,软件开发成为一项越来越重要的工作,Java语言随之成为一种使用最广泛的开发语言。
开放服务网关协议(Open Service Gateway Initiative,简称:OSGI)是Java动态模块化系统的规范,OSGI服务平台提供在多种网络设备上无需重启的动态改变构造的功能,能够有效的降低开发成本和上市时间,所以正在被越来越广泛的使用。
但是,由于OSGI的特殊运行模式,Java的一些通用方法在OSGI中无法直接使用,其中包括OSGI不提供请求方网络协议(Internet Protocol,简称:IP)地址的获取方法,导致服务器不能及时对请求方的行为进行高效且合理的监管和流量控制。
发明内容
本发明提供一种基于OSGI的IP地址获取方法和装置,以实现请求方设备的IP地址的获取,可以及时根据请求方设备的IP地址对请求方的行为进行高效且合理的监管和流量控制。
第一方面,本发明实施例提供了一种基于OSGI的IP地址获取方法,所述方法适用于服务器对请求方设备进行实时监控的过程中,所述方法包括:
在开放服务网关协议OSGI框架下,所述服务器在所述OSGI框架中集成springMVC;
所述服务器接收所述请求方设备发送的业务请求,所述业务请求包括所述请求方设备的网络协议IP地址;
所述服务器根据预先生成的继承自所述springMVC的类将所述业务请求保存至指定的内存中;
所述服务器通过调用预先生成的IP地址获取接口从所述指定的内存中提取得到所述IP地址。
可选的,所述服务器根据预先生成的继承自所述springMVC的类将所述业务请求保存至指定的内存中,包括:
所述服务器根据所述继承自所述springMVC的类将所述业务请求赋值给预先定义的变量,所述预先定义的变量存储的位置在所述指定的内存。
可选的,在所述服务器通过调用预先生成的IP地址获取接口从所述指定的内存中提取得到所述IP地址之前,还包括:
所述服务器生成并发布所述IP地址获取接口。
第二方面,本发明实施例还提供了一种基于OSGI的IP地址获取装置,所述装置应用于服务器对请求方设备进行实时监控的过程中,所述装置包括:
集成模块,用于在开放服务网关协议OSGI框架下,在所述OSGI框架中集成springMVC;
接收模块,用于接收所述请求方设备发送的业务请求,所述业务请求包括所述请求方设备的网络协议IP地址;
存储模块,用于根据预先生成的继承自所述springMVC的类将所述业务请求保存至指定的内存中;
IP获取模块,用于通过调用预先生成的IP地址获取接口从所述指定的内存中提取得到所述IP地址。
可选的,所述存储模块,具体用于根据所述继承自所述springMVC的类将所述业务请求赋值给预先定义的变量,所述预先定义的变量存储的位置在所述指定的内存。
可选的,还包括:
接口发布模块,用于生成并发布所述IP地址获取接口。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所述的基于OSGI的IP地址获取方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的基于OSGI的IP地址获取方法。
本发明通过在OSGI框架下,服务器根据继承自springMVC的类将请求方设备的IP地址保存在指定的内存中,可以直接从该指定的内存中提取得到请求方设备的IP地址,以便于及时根据请求方设备的IP地址对请求方的行为进行高效且合理的监管和流量控制。
附图说明
图1为本发明实施例提供的基于OSGI的IP地址获取方法的流程图;
图2为本发明实施例提供的基于OSGI的IP地址获取装置的结构示意图;
图3为本发明实施例提供的基于OSGI的IP地址获取装置的结构示意图;
图4为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的基于OSGI的IP地址获取方法的流程图,本实施例可适用于服务器对请求方设备进行实时监控的过程中,该方法可以由服务器来执行,具体包括如下步骤:
步骤101、在OSGI框架下,服务器在OSGI框架中集成springMVC;
springMVC属于SpringFrameWork的后续产品,spring框架提供了构建Web应用程序的全功能MVC模块,MVC是一种使用MVC设计创建Web应用程序的模式,M(模型Model)表示应用程序核心(比如数据库记录列表),V(视图View)显示数据(数据库记录),C(控制器Controller)处理输入(写入数据库记录)。MVC用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
本实施例中为了在OSGI框架中用到springMVC的类,需要先在OSGI框架中集成springMVC,例如,服务器将springMVC的jar包导入到OSGI框架中即可实现集成。
步骤102、服务器接收请求方设备发送的业务请求,该业务请求包括请求方设备的IP地址;
OSGI是Java动态模块化系统的规范,OSGI服务平台提供在多种网络设备上无需重启的动态改变构造的功能。在OSGI框架下,请求方设备可以向通过调用已有的接口向服务器请求各种业务,例如,数据查询、第三方支付等,请求方设备以固定格式封装业务请求,再发送给服务器,通常该业务请求中携带了请求方设备的IP地址。
步骤103、服务器根据预先生成的继承自springMVC的类将业务请求保存至指定的内存中;
springMVC的HessianServiceExporter类的handelRequest方法中可以获得请求方设备的业务请求(request)。本实施例中,用户在OSGI框架中重写handelRequest方法得到一个继承自springMVC的类(LocalServiceExporter),如下所示:
服务器在运行LocalServiceExporter类时将请求方设备的业务请求保存至指定的内存中,如上述代码所示,服务器运行LocalServiceExporter类调用HessianContext,该HessianContext是用户新定义的类,如下所示:
HessianContext类作为OSGI框架的Hessian Service线程上下文,服务器运行HessianContext类将入参赋值给预先定义的变量,相当于是将入参的值保存在了预先定义的变量所在的内存中。
结合上述代码,服务器运行LocalServiceExporter类调用HessianContext,将业务请求赋值给预先定义的变量,该预先定义的变量存储的位置在指定的内存,因此服务器通过赋值操作将业务请求保存在了指定的内存中。
步骤104、服务器通过调用预先生成的IP地址获取接口从指定的内存中提取得到IP地址。
上述HessianContext类中还提供了IP地址获取接口(getRemoteAddr)。服务器调用IP地址获取接口(getRemoteAddr)可以从指定的内存中读取业务请求,并从中提取得到请求方设备的IP地址。
本实施例的技术方案,通过在OSGI框架下,服务器根据继承自springMVC的类将请求方设备的IP地址保存在指定的内存中,可以直接从该指定的内存中提取得到请求方设备的IP地址,以便于及时根据请求方设备的IP地址对请求方的行为进行高效且合理的监管和流量控制。
需要说明的是,上述实施例中提到的用户定义的类的名称是为了便于描述作出的示例,并不只局限于该名称。
图2为本发明实施例提供的基于OSGI的IP地址获取装置的结构示意图,参照图2,该装置应用于服务器对请求方设备进行实时监控的过程中,该装置包括:集成模块11、接收模块12、存储模块13和IP获取模块14,其中,集成模块11,用于在开放服务网关协议OSGI框架下,在所述OSGI框架中集成springMVC;接收模块12,用于在开放服务网关协议OSGI框架下,接收所述请求方设备发送的业务请求,所述业务请求包括所述请求方设备的网络协议IP地址;存储模块13,用于根据预先生成的继承自springMVC的类将所述业务请求保存至指定的内存中;IP获取模块14,用于通过调用预先生成的IP地址获取接口从所述指定的内存中提取得到所述IP地址。
进一步的,所述存储模块12,具体用于根据所述继承自所述springMVC的类将所述业务请求赋值给预先定义的变量,所述预先定义的变量存储的位置在所述指定的内存。
图3为本发明实施例提供的基于OSGI的IP地址获取装置的结构示意图,参照图3,在图2基础上,该装置还包括:接口发布模块15,用于生成并发布所述IP地址获取接口。
本发明实施例所提供的基于OSGI的IP地址获取装置可执行本发明任意实施例所提供的基于OSGI的IP地址获取方法,具备执行方法相应的功能模块和有益效果。
图4为本发明实施例提供的一种服务器的结构示意图,如图4所示,该服务器包括处理器20、存储器21、输入装置22和输出装置23;服务器中处理器20的数量可以是一个或多个,图4中以一个处理器20为例;服务器中的处理器20、存储器21、输入装置22和输出装置23可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器21作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于OSGI的IP地址获取方法对应的程序指令/模块。处理器20通过运行存储在存储器21中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的基于OSGI的IP地址获取方法。
存储器21可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器21可进一步包括相对于处理器20远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置22可用于接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置23可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种基于OSGI的IP地址获取方法,该方法包括:
在开放服务网关协议OSGI框架下,所述服务器在所述OSGI框架中集成springMVC;
所述服务器接收所述请求方设备发送的业务请求,所述业务请求包括所述请求方设备的网络协议IP地址;
所述服务器根据预先生成的继承自所述springMVC的类将所述业务请求保存至指定的内存中;
所述服务器通过调用预先生成的IP地址获取接口从所述指定的内存中提取得到所述IP地址。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于OSGI的IP地址获取方法中的相关操作.
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述基于OSGI的IP地址获取的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种基于OSGI的IP地址获取方法,其特征在于,所述方法适用于服务器对请求方设备进行实时监控的过程中,所述方法包括:
在开放服务网关协议OSGI框架下,所述服务器在所述OSGI框架中集成springMVC;其中,springMVC是spring框架下提供的构建Web应用程序的全功能MVC模块,MVC是一种使用MVC设计创建Web应用程序的模式,M表示应用程序核心,V显示数据,C处理输入;
所述服务器接收所述请求方设备发送的业务请求,所述业务请求包括所述请求方设备的网络协议IP地址;
所述服务器根据预先生成的继承自所述springMVC的类将所述业务请求保存至指定的内存中;
所述服务器通过调用预先生成的IP地址获取接口从所述指定的内存中提取得到所述IP地址。
2.根据权利要求1所述的方法,其特征在于,所述服务器根据预先生成的继承自所述springMVC的类将所述业务请求保存至指定的内存中,包括:
所述服务器根据所述继承自springMVC的类将所述业务请求赋值给预先定义的变量,所述预先定义的变量存储的位置在所述指定的内存。
3.根据权利要求1或2所述的方法,其特征在于,在所述服务器通过调用预先生成的IP地址获取接口从所述指定的内存中提取得到所述IP地址之前,还包括:
所述服务器生成并发布所述IP地址获取接口。
4.一种基于OSGI的IP地址获取装置,其特征在于,所述装置应用于服务器对请求方设备进行实时监控的过程中,所述装置包括:
集成模块,用于在开放服务网关协议OSGI框架下,在所述OSGI框架中集成springMVC;
接收模块,用于接收所述请求方设备发送的业务请求,所述业务请求包括所述请求方设备的网络协议IP地址;
存储模块,用于根据预先生成的继承自所述springMVC的类将所述业务请求保存至指定的内存中;
IP获取模块,用于通过调用预先生成的IP地址获取接口从所述指定的内存中提取得到所述IP地址。
5.根据权利要求4所述的装置,其特征在于,所述存储模块,具体用于根据所述继承自所述springMVC的类将所述业务请求赋值给预先定义的变量,所述预先定义的变量存储的位置在所述指定的内存。
6.根据权利要求4或5所述的装置,其特征在于,还包括:
接口发布模块,用于生成并发布所述IP地址获取接口。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-3中任一所述的基于OSGI的IP地址获取方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一所述的基于OSGI的IP地址获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711226790.5A CN108011877B (zh) | 2017-11-29 | 2017-11-29 | 基于osgi的ip地址获取方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711226790.5A CN108011877B (zh) | 2017-11-29 | 2017-11-29 | 基于osgi的ip地址获取方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108011877A CN108011877A (zh) | 2018-05-08 |
CN108011877B true CN108011877B (zh) | 2021-03-12 |
Family
ID=62054788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711226790.5A Active CN108011877B (zh) | 2017-11-29 | 2017-11-29 | 基于osgi的ip地址获取方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108011877B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111200508B (zh) * | 2018-11-19 | 2022-07-01 | 中移(杭州)信息技术有限公司 | 一种消息发送方法及网关 |
CN110659017B (zh) * | 2019-09-19 | 2024-03-29 | 上海客佳信息科技有限公司 | 一种外部请求处理方法及相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499032A (zh) * | 2008-01-31 | 2009-08-05 | 财团法人工业技术研究院 | 用于开放式平台的存储器管理系统和方法 |
KR20090117482A (ko) * | 2008-05-09 | 2009-11-12 | 주식회사 케이티 | 사설 IP 네트워크 환경의 OSGi 장치 관리 시스템 및그 방법 |
JP2011186571A (ja) * | 2010-03-05 | 2011-09-22 | Hitachi Ltd | サーバ、クライアントシステム |
-
2017
- 2017-11-29 CN CN201711226790.5A patent/CN108011877B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499032A (zh) * | 2008-01-31 | 2009-08-05 | 财团法人工业技术研究院 | 用于开放式平台的存储器管理系统和方法 |
KR20090117482A (ko) * | 2008-05-09 | 2009-11-12 | 주식회사 케이티 | 사설 IP 네트워크 환경의 OSGi 장치 관리 시스템 및그 방법 |
JP2011186571A (ja) * | 2010-03-05 | 2011-09-22 | Hitachi Ltd | サーバ、クライアントシステム |
Also Published As
Publication number | Publication date |
---|---|
CN108011877A (zh) | 2018-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7475406B2 (en) | Event notification structure for dynamically aggregated logical components | |
CN111580869B (zh) | 基于opc ua的数据通信方法及系统 | |
CN109522386B (zh) | 一种跨gis平台的空间信息服务生成方法和系统 | |
CN109032587B (zh) | 一种数据流管理框架、方法、终端设备及存储介质 | |
CN103248512A (zh) | 通信网络中应用层拓扑结构的生成方法和系统 | |
CN110187986B (zh) | 一种命令管理方法、系统、装置及计算机可读存储介质 | |
CN111953648A (zh) | 基于区块链预言机的数据处理方法、装置及电子设备 | |
CN108011877B (zh) | 基于osgi的ip地址获取方法、装置、计算机设备和存储介质 | |
US10924527B2 (en) | Dynamic workflow-based composite web service system and method | |
CN101916283B (zh) | 由动态网页上获取链接信息的方法及其服务器 | |
CN112243033B (zh) | 获取内存信息的方法、装置、设备及计算机可读存储介质 | |
CN108696559B (zh) | 流处理方法及装置 | |
CN110765610B (zh) | Pdm集成方法、装置、计算机设备及存储介质 | |
CN108595169B (zh) | 一种可视化编程方法、云端服务器及存储介质 | |
CN106371848A (zh) | 一种web开发框架支持Odata的实现方法 | |
CN115599669A (zh) | 微服务的调试方法和装置、电子设备和可读存储介质 | |
CN108804088A (zh) | 协议处理方法和装置 | |
CN111400060A (zh) | 设备联动方法、装置、服务器和介质 | |
CN104679865B (zh) | 将Web页面集成作为服务进行注册和监控的方法 | |
CN113946386B (zh) | 截屏控制方法、装置、计算机设备和存储介质 | |
CN111125223B (zh) | 一种数据库连接池更新方法及装置 | |
CN110198266B (zh) | 实时数据流处理方法及系统 | |
CN109388536B (zh) | 一种数据收集的方法和装置 | |
CN117687678A (zh) | 联动数据的发送方法和系统、存储介质及电子设备 | |
CN108153525B (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 |