面向虚拟社区应用的移动终端中间件系统
技术领域
本发明属于中间件技术领域,具体涉及一种面向虚拟社区应用的移动终端中间件系统。
背景技术
中间件运行于服务器的操作系统之上,负责管理计算资源和数据交互,使得底层资源的使用和管理更加容易,并且统一系统接口、提高软件开发效率的系统工具集。虚拟社区应用将RFID技术、融合通讯技术和虚拟社区技术的进行融合,为用户提供一系列增值服务。用户通过智能手机、PC等智能化终端登录,可使用定位、信息推送、交友、社团服务、电子商务等多种服务。在应用开发过程中,基于手机终端的接入认证、加解密、数据调用等方面都具有普遍性。本发明因此而来。
发明内容
本发明目的在于提供一种面向虚拟社区应用的移动终端中间件系统,解决了虚拟社区的应用开发繁琐、开发经常重复等问题。
为了解决现有技术中的这些问题,本发明提供的技术方案是:
一种面向虚拟社区应用的移动终端中间件系统,其特征在于所述系统包括用于屏蔽移动终端硬件平台、移动终端操作系统和通信协议的抽象层、用于提供给应用程序进行接口调用的中间件应用接口;所述抽象层和中间件应用接口间设置中间件功能模块;所述中间件功能模块包括用于移动终端和虚拟社区平台之间进行认证、MAC校验、加密和密钥管理的安全管理模块、用于移动终端与虚拟社区平台之间进行信息交互的数据管理模块、用于移动终端与虚拟社区平台之间进行位置信息更新和同步的定位信息同步模块、用于检测移动终端用户感兴趣的事件并分发事件信息的事件通知模块和用于对应用程序提供通用的资源需求及响应和管理的资源管理模块。
优选的,所述中间件功能模块中每个功能模块提供至少一个供应用程序进行接口调用的服务访问接口。
优选的,所述安全管理模块包括提供基础算法的算法模块、实现用户客户端和平台之间的认证、MAC校验、加密、密钥管理功能的安全模块,所述算法模块与安全模块通过消息通信接口交互;所述安全模块通过安全模块接口与应用程序进行交互。
优选的,所述安全模块包括对移动终端和虚拟社区平台之间的密钥进行管理的密钥管理模块、对移动终端和虚拟社区平台之间信息交互进行加密的加密模块、对移动终端和虚拟社区平台之间上下行身份认证的认证模块和对对移动终端和虚拟社区平台之间信息交互进行MAC校验的MAC校验模块。
优选的,所述事件通知模块包括用于检测移动终端感兴趣的事件的事件检测服务模块和将检测到的事件传送给所有对之感兴趣的移动终端的事件通知服务模块。
优选的,所述事件检测服务模块包括用于检测移动终端感兴趣的点事件的点事件检测模块和用于检测移动终端感兴趣的区域事件的区域事件检测模块;所述事件通知服务模块包括将检测到的事件基于订阅的方式传送给所有对之感兴趣的移动终端的基于订阅的服务模块和将检测到的事件基于推送的方式传送给所有对之感兴趣的移动终端的基于推送的服务模块。
优选的,所述资源管理模块包括对面向虚拟社区应用的网络进行会话/链路控制的会话/链路控制模块、对面向虚拟社区应用的网络进行接入控制的接入控制模块、对面向虚拟社区应用的网络开通认证的开通认证模块、对面向虚拟社区应用的网络服务质量进行控制的Qos控制模块、对面向虚拟社区应用的网络进行计费管理的计费管理模块和对面向虚拟社区应用的网络进行设备管理的设备管理模块。
所述抽象层也是WSN设备中间件正常运行所必需的软件组成部分,这部分软件包括操作系统抽象模块、硬件设备抽象模块(HAL)和网络协议栈抽象模块。
操作系统抽象模块:合适的手机终端操作系统将对业务实时性、多任务并发性提供良好的运行环境。操作系统抽象模块位于终端操作系统之上,其主要功能是屏蔽不同操作系统间的差异性,向上层程序提供统一的软件运行环境。操作系统抽象对底层操作系统的功能进行封装,向上层提供如任务管理、任务调度、任务同步(信号量、互斥量、事件等)、内存管理等标准化访问接口。
硬件抽象模块:硬件设备抽象模块对终端中常用的硬件设备访问进行封装,向上层软件提供一组标准化的硬件操作接口。该模块屏蔽了底层硬件的差异性,使得上层软件可以在不同的硬件平台上移植。该模块功能类似于传统操作系统软件中的硬件驱动,不同之处是硬件抽象模块对上层程序提供了标准化的设备访问接口。
网络协议栈模块:该模块为上层软件提供数据传输通道及网络控制接口。为了方便移植,协议栈必须独立于底层操作系统和硬件平台,与操作系统抽象模块和硬件设备抽象模块交互。网络协议栈模块实现传感网网络协议,完成网络组网、路由管理、流量控制及拥塞避免等功能,通常由媒体接入控制层、网络层、传输层等几个部分组成。
随着虚拟社区应用广泛的开展,基于手机终端上的应用开发需要与底层进行交互。如果直接在手机操作系统、通信协议上从事应用开发,会面临很多底层硬件相关的复杂繁琐的问题,比如操作系统的多样性、数据管理、安全等问题,从而耗费了大量的时间和精力。面向虚拟社区的应用在接入过程中的用户认证、数据加密/解密、RFID数据调用等方面都具有普遍性,且加密算法有一定的保密性,可封装成标准的中间件,为手机应用客户端调用。该发明所设计的中间件系统,屏蔽底层的复杂性,为虚拟社区应用提供统一的接口,使应用开发者不必再为普适性的工作而重复工作,从而快速便捷地建立起虚拟社区应用系统。
本发明涉及手机客户端中间件,具体说,是一种面向虚拟社区应用,位于手机平台(硬件和操作系统)和手机虚拟社区应用之间,为应用提供统一的运行交互环境。该手机中间件屏蔽底层硬件和软件开发的复杂性和差异性,提高虚拟社区应用开发效率。
本发明设计的中间件定义了一个相对稳定的高层应用环境,屏蔽底层的硬件和操作系统的差异,给应用提供一个统一的运行平台和友好的开发环境,有利于加快虚拟社区的应用开发进程。本发明中的手机终端中间件通过对底层组件异构性的屏蔽,提供一个统一的运行平台和友好的开发环境。基于中间件的应用软件开发平台是在多硬件平台、多操作系统、多网络通信协议之上,为手机终端软件提供基础的支撑服务,以便于虚拟社区应用的开发、部署和运行管理。
相对于现有技术中的方案,本发明的优点是:
1)本发明结合实际的应用场景给出中间件组件,解决上层应用开发周期长、重复开发的问题。
2)本发明屏蔽底层交互的复杂性,提供统一的接口,方便快速便捷地构建虚拟社区应用。
3)本发明将当前虚拟社区应用系统的关键技术合在统一的框架下,寻求应用开发的系统化与规范化,推动虚拟社区应用的使用。
4)本发明实现虚拟社区应用中间件的轻量化、可配置设计,并实现对下屏蔽异构性,对上提供共性接口的中间件架构。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1是面向虚拟社区应用的手机中间件系统结构;
图2是描绘图1中的安全管理模块功能架构;
图3是描绘图1中的事件通知模块功能架构;
图4是描绘图1中的资源管理模块功能架构;
图5是抽象层与功能模块交互示意图;
图6是信息服务应用向特定位置的客户端推送特定信息的交互过程示意图。
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例
如图1所示,本实施例为手机终端中间件系统,其实现一系列功能,包括基本的管理功能和业务支撑服务,向上为应用服务开发提供配置、控制、数据访问接口等功能。每个中间件模块都提供至少一个服务访问接口(SAP,Service Access Point),服务访问接口是中间件与其它软件模块之间信息交互的唯一通道。本发明中的中间件实现不同的虚拟社区应用均需具备的基本组件,主要包括安全管理模块、数据管理模块、事件通知模块、定位信息同步模块、资源管理模块。
其中结合虚拟社区应用的特点,构建安全管理模块,包括用户客户端和平台之间的认证、MAC校验、加密、密钥管理功能,保证上层应用传送数据的安全性。数据管理模块实现手机客户端与虚拟社区业务平台之间的信息交互,如获取位置信息、推送信息、群组服务、交友等业务信息内容。事件通知模块负责检测客户端用户感兴趣的事件,并将检测到的事件传送给所有对之感兴趣的用户,在信息的发布者和信息的订阅者之间建立信息分发渠道。定位信息同步模块负责客户端与虚拟社区业务平台之间的位置信息更新与同步。资源管理模块提供面向应用的网络构建、维护、故障处理等功能,对应用层提供通用的需求及响应接口。
本实施例中的面向虚拟社区应用的手机中间件104运行在手机终端软件系统上,包括这部分软件包括硬件平台101、操作系统102、通信协议103和应用服务系统105。本发明中手机中间件件104由111安全管理模块、112数据管理模块、113定位信息同步模块、114事件通知模块、115资源管理模块构成。中间件104运行于硬件平台101、操作系统102、通信协议103之上,通过抽象层117屏蔽底层的复杂性,并向105应用服务系统提供统一的接口和服务。
如图2所示,本发明中的111安全管理模块实现用户客户端和平台之间的认证、MAC校验、加密、密钥管理等功能。111安全管理模块的底层是算法模块包括201密钥分散算法模块、202加密算法模块、203过程密钥生成算法模块、204随机算法模块,基于算法模块实现206密钥管理模块、207加密模块、208认证模块和209MAC校验模块。算法模块通过205消息通信接口与安全模块进行交互,安全模块通过210安全模块接口与应用程序层211进行交互。
如图3所示,本发明中的114事件通知模块负责检测客户端用户感兴趣的事件,并将检测到的事件传送给所有对之感兴趣的用户,在信息的发布者和信息的订阅者之间建立信息分发渠道。114事件通知模块由303事件检测服务和304事件通知服务构成,303事件检测服务由301点事件检测和302区域事件检测构成,而304事件通知服务由305基于订阅的服务和306基于推送的服务构成。
如图4所示,本发明中的115资源管理模块提供面向应用的网络建立、维护、管理等功能,对应用层提供通用的需求及响应接口。115资源管理模块由401会话/链路控制模块、402接入控制模块、403开通认证模块、404Qos(服务质量)控制模块、405计费管理模块和406设备管理模块构成。
中间件功能模块与抽象层之间的交互通过服务访问接口(SAP,ServiceAccess Point)实现。每个中间件功能模块都提供至少一个SAP,服务访问接口是中间件与其它软件模块之间信息交互的唯一通道。功能模块与抽象层之间的交互也是通过在服务访问接口间传递服务原语的形式进行交互。为了降低模块间的耦合度,中间件之间不通过函数调用的形式交互而是通过传递服务原语的形式实现通信。服务原语按功能来分分为服务请求(ServiceRequest)、服务应答(Service Response)、服务通知(Service Indication)三种。服务请求原语的主要功能是请求其它模块完成某项特定服务功能;服务应答原语则是服务提供方发送给服务请求方的回应,如服务成功、失败、正在进行、请求被拒绝等状态信息,也可以携带具体的业务数据;服务通知由一个中间件模块发送给另外的中间件模块,其主要功能是将本模块工作状态转换信息告知其它程序模块,如模块初始化完成、模块准备卸载、模块暂停服务等。
如图5所示为抽象层与功能模块交互示意图。每个中间件功能模块至少能够提供一种类型的服务,每种类型的服务都有一个全局唯一的标识符,即服务ID。中间件间通过服务ID来对服务进行寻址与访问。一个服务ID对应一个服务访问点SAP,如果一个中间件模块同时提供多种类型的服务,则其可以有多个服务访问点。所有中间件模块间的服务原语通信都必须通过管理器中的服务原语管理模块进行统一控制与调配。服务原语管理模块有权根据安全认证状态、中间件工作状态等对服务原语做出投递(Deliver)和拒绝(Reject)等操作。服务原语管理原理如图5所示。
以应用层的信息服务业务为例说明应用程序与功能模块的交互过程。在这一例子中,信息服务应用向特定位置的客户端推送特定信息,其交互过程如图6所示:
1.应用层的信息服务业务有数据推送业务需求,向中间件的事件管理模块发送服务请求,要求其开启数据推送业务;
2.事件管理模块向定位信息同步模块发送服务请求,获取位置信息;
3.定位信息同步模块向事件管理模块提供服务应答,告知位置信息;
4.事件管理模块向数据管理模块发送服务请求,要求提供数据服务;
5.数据管理模块对数据处理后向安全管理模块发送数据安全服务请求;
6.安全管理模块返回服务应答,提供安全管理服务;
7.数据管理模块向抽象层发生服务请求,要求会话/链路控制、QoS控制等功能;
8.资源管理模块返回服务应答,提供相关资源管理服务;
9.数据管理模块向抽象层发起服务请求;
10.资抽象层向底层发起服务请求;
11.底层向抽象层返回服务应答;
12.抽象层向数据管理模块返回服务应答;
13.数据管理模块向事件管理模块发送服务应答;
14.事件管理模块向应用层发生服务应答,告知数据推送业务已完成。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。