CN104980525B - 一种基于状态中间件的普适性移动计算系统 - Google Patents
一种基于状态中间件的普适性移动计算系统 Download PDFInfo
- Publication number
- CN104980525B CN104980525B CN201510404468.1A CN201510404468A CN104980525B CN 104980525 B CN104980525 B CN 104980525B CN 201510404468 A CN201510404468 A CN 201510404468A CN 104980525 B CN104980525 B CN 104980525B
- Authority
- CN
- China
- Prior art keywords
- equipment
- state server
- information
- service
- state
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于状态中间件的普适性移动计算系统,由物理层、状态服务器层和智能服务层组成,通过状态服务器实现系统内的信息交互,并定义了上层智能服务和下层物理设备的接口规范。传感器设备采集物理环境信息,以固定格式将信息实时更新到状态服务器层。状态服务器实时更新物理设备采集到的信号,并向智能服务器层提供以上信息的访问接口。智能服务层由多种智能业务组成,按照自身的业务需求向状态服务器层请求数据,完成智能业务的服务。不同于状态服务器层,传感器层和智能服务层只需遵循特定的接口,实际的物理设备或智能服务的类型可以是任意形式。系统不同组件均通过RESTful API调用。本发明在实际中具有良好的可推广性。
Description
技术领域
本发明涉及普适计算的技术领域,尤其是指一种基于状态中间件的普适性移动计算系统。
背景技术
普适计算是指计算设备无缝融合到现实当中,“隐形”地为用户提供所需的服务,而无需用户的输入。实现普适计算需要计算设备主动采集环境信息,通过传感器或其他来源获取环境信息,并将相关的信息融合到一起,形成上下文相关的信息,这一相关技术称为情境感知或上下文感知。除此之外,以合适的方式表示情境信息,使得计算机不仅能准确地处理情境信息,还可以对不同的情境信息进行融合、递推等逻辑运算,从而生成所需的新情境信息。除此之外,普适计算还面临着数据存储、数据一致性等必须要解决的问题。
科研工作者已经对普适计算有了许多研究,目前普遍接受的设计由普适计算框架由传感器层、信息融合层、知识库和智能服务层四个模块组成。然而先前的研究并没有很好解决以下的问题:
1、传感器异构。传感器的类型、服务内容、可执行的操作等差别很大,情境信息获取面临很大挑战。
2、访问量大,实时性要求高。普适计算接入的传感器数量和用户数量巨大,对网络有更高要求。
3、智能业务可能变得非常复杂。例如对情景信息的建模,需要综合多种数据源,采用比较复杂的智能机器学习算法。
4、扩展性能要求高。新型设备不断出现,原有的网络基础设施需要有良好的兼容性。
5、实际推广问题。已有多数的设计只是简单制定技术方案,期望更多的用 户遵循该标准并加入进来,然而忽略了用户加入的动机,不具有推广的可行性。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于状态中间件的普适性移动计算系统,不仅解决普适计算必须面对的大规模分布式计算需求,且对异构物理设备具有良好的兼容性,框架本身也具有很好的扩展性。
为实现上述目的,本发明所提供的技术方案为:一种基于状态中间件的普适性移动计算系统,包括有:
物理层,由多个异构设备组件组成,负责与物理环境的交互,包括信号采集和执行操作,每个设备组件包含物理设备和代理程序,其中,物理设备是任何有信息采集或执行操作功能的实体或虚拟设备,代理程序在物理设备上运行,并对物理设备面向普适网络进行全权代理;
状态服务器层,支持多种通信方式,临时保存物理设备的状态信息,物理设备当前采集到的信号称为状态,状态信息实时地更新在状态服务器上,状态服务器具有并发访问服务能力;
智能服务层,由多个不同类型的智能服务组成,通过指定接口提供服务,按照自身的业务需求向状态服务器层请求数据,通过状态服务器提供的接口访问数据和发送指令,完成智能业务的服务。
所述物理设备包含具有信息采集功能的设备及具有展示或操作功能的设备,普适计算通过这些硬件设备与现实物理环境进行交互,不仅包括从物理环境中采集信息,也包括执行智能操作,并改变物理环境;
每台物理设备都携带对应的代理程序,代理程序是对物理设备在软件层面的封装,是物理设备和普适计算软件系统连接的桥梁,其功能至少包含以下五个方面:
1)代理程序存储了设备的元信息,元信息包含设备类型、设备属性、设备位置、处理能力这些描述设备本身的信息,也包含信号格式、更新方式、更新频率、设备描述、字段含义这些描述信号类型的信息;代理程序还同时支持对以上信息的管理功能,除设备类型、设备id这些设备出厂时固定的信息外,代理程序可在安装设备时更新设备位置、访问路径、权限编号、设备描述的信息,甚至还可以进行软件升级更新代理程序自身,从而改变信号格式、字段含义信息;代理程序将以上配置信息保存到本地,当向普适计算网络注册该设备时,会提供以上元信息给状态服务器,方便状态服务器索引该设备;
2)代理程序负责保证物理设备采集到的信号在状态服务器上是实时最新的,根据设备类型,代理程序通过三种方式将自身采集到的信号发送给状态服务器,分别是:①周期发送,以固定时间间隔发送设备最新信号,间隔时长在设备元信息中说明,该方式适用于温度传感器、水位感应器的数值连续,但实时性要求不高的设备类型;②触发发送,只有当设备信号发生变化时才发送,适用于报警感应器、门禁系统这些信号触发时间完全随机的设备类型;③长连接,设备与状态服务器建立网络长连接,适用于显示器、麦克风这些需要实时传输的设备类型;信号的更新类型在设备的元信息中定义,信号内容由设备所有者的身份信息加密;
3)具有执行操作能力的代理程序负责在接收到操作指令之后驱动设备执行对应的操作;设备操作动作由状态服务器发送指令,操作的权限在状态服务器上验证,操作执行的结果由代理程序收集,当与预期结果不符时,代理程序向状态服务器发送异常信息;
4)发送心跳连接,周期性地定时向状态服务器发送心跳连接,声明自己在线,状态服务器无需对心跳信号发送任何反馈,当超出预定的心跳时长未收到 设备的心跳连接时,将设备列为问题设备,当超过系统设定的时长没有收到设备的心跳连接时,将设备从索引库中删除,表示设备离线;
5)存储状态服务器信息,维护设备迁移时的数据有效性和一致性;代理程序将设备信号更新到多台状态服务器,从而保证当其中一台状态服务器宕机或物理设备发生迁移时能连接到最近的状态服务器;当迁移发生时,代理程序发送取消注册功能,附带新的可用服务器地址列表,状态服务器将设备信息保存设定时间后删除。
所述物理层能够建立无物理设备的代理程序,称为虚拟代理程序,该代理程序嵌入到已有的计算机系统中,仅通过软件逻辑即可采集到所需的环境信息。
所述代理程序通过无状态的HTTP协议向状态服务器发送的数据,元信息格式为utf-8编码的xml或json格式,信号内容根据其元信息定义发送有意义的字符型数据或二进制的字节型数据。
所述状态服务器不存储历史数据,为基于内存的数据库,其主要有以下五个功能:
1)设备注册和元数据搜索功能;新设备加入普适计算网络时向状态服务器发送设备元信息,状态服务器检查元信息格式正确性以及与已注册设备是否冲突,检查通过后将该元信息加入到索引库中,智能服务可根据不同的设备元信息字段搜索设备id,并根据id在该状态服务器上访问设备当前信息;
2)状态数据访问功能;状态服务器实时地反映传感器当前的信息,支持周期、触发和长连接三种代理程序数据发送方式,从状态服务器的数据输入方面讲,前两种方式基于无状态的HTTP消息传输,而第三种长连接传输则通过状态服务器提供的类似网络组播的功能传输:从物理设备AP获取信息,并分组发送给所有请求该设备状态的智能服务;从状态服务器的数据输出来讲,首先, 智能服务根据自身业务需求周期性地向状态服务器请求状态数据;其次,状态服务器提供消息订阅和推送功能,智能服务订阅设备消息并设置订阅规则之后,状态服务器在状态信号满足规则触发条件时,向智能服务器推送最新状态数据;最后,对于长连接型服务,智能服务器作为组播服务网关,为物理设备AP和智能服务建立组播连接;除此之外,状态服务器还负责维护本身数据的一致性;
3)权限验证功能;为保证隐私性和安全性,物理设备的信息采集和执行操作都有权限验证控制,状态服务器除验证设备元数据信息有效性之外,还会验证请求数据的智能服务是否有元数据搜索权限,是否有状态信息访问权限;在智能服务请求设备执行具体操作时,需出具三方权限证明,分别是用户订购了该服务,用户有使用该设备的权限,以及该服务有使用该设备的权限;由于设备状态信息是加密存储在状态服务器上,未获得授权的服务无法访问未授权的硬件状态信息,也无法给未获得授权的设备发送操作指令;
4)互联功能;面向大规模分布式的普适计算所带来的巨大访问压力,单台状态服务器的处理能力显然是不够的,因此已入网的状态服务器组成状态服务器网络,分布式处理大规模的访问请求,从而降低单台主机的服务压力;由于单个设备状态信息同时保存在多台状态服务器上,这多台服务器之间的每台服务器都记录其他服务器的地址列表;当设备代理程序与该服务器断开连接后,新的请求将会被重定向到列表中的其他服务器;
5)状态监控功能;记录状态服务器本身的CPU占用、内存占用、负载信息、带宽压力信息,此外状态服务器本身有名称、位置、带宽、内存大小的自有属性,也会有本身服务区域、服务内容偏好这些与状态服务内容相关的信息;状态监控功能提供以上信息的访问接口,设备注册时根据服务器的服务压力选择合适的状态服务器注册,智能业务可选择服务范围内的状态服务器搜索设备 信息。
智能服务根据自身业务需求,从状态服务器的元数据库中搜索自己关心的设备,获取相应的设备状态信息,运算后给状态服务器发送指令执行合适的操作;智能服务与状态服务器同样通过无状态的HTTP协议或长连接方式通信,根据需要,智能服务需自己保存历史数据,建立知识库。
本发明与现有技术相比,具有如下优点与有益效果:
1、基于消息传输和接口调用,兼容性好。普适计算中物理设备异构的问题普遍存在,但本发明中所有设备信息都在状态服务器层抽象化,上层无需关注异构设备的类型,只需根据预设的数据格式访问指定字段。且相同的设备可实现“一次开发,到处使用”。
2、结构简单,扩展性好,可重用。相较于已有的方案中把智能业务牵涉到框架中的设计,本发明将智能业务统一设计为接口调用,将数据来源和智能服务解耦合,使数据源部分支持多种智能业务重用,且支持大规模访问需求。
3、支持高度复杂的智能业务。传统设计方案中复杂的智能业务常常在解决数据来源的问题时耗费较大精力,本设计中智能业务无需关心数据来源问题,可专注实现高度复杂的智能业务服务。
4、具有实际推广价值。由于传统设计相互之间兼容性不强,因此具有使用意向的团体和个人投入较大财力之后并不一定能获得良好的回报。本发明将智能业务包装为服务,面向服务的形式使用户可以“按需购买”,任何团体和个人均可开发智能服务。而即使服务推广失败,已有的除智能业务层之外的部分也可以再次利用。
附图说明
图1为本发明的各层间消息通信形式与内容图。
图2为本发明的整体方案框架图。
图3为物理设备层与状态服务器的逻辑关系图。
图4为状态服务器的消息输入与输出类型图。
图5为基于位置提醒服务的实例图。
图6为出租车客源信息服务的实例图。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
本实施例所述的基于状态中间件的普适性移动计算系统,主要由三个部分组成,分别是物理层(Physical Layer)、状态服务器层(Status Server Layer)和智能服务层(Smart Service Layer),如图1所示。物理层的异构传感器采集物理环境信息,以固定格式将信息实时更新到状态服务器层;状态服务器实时更新物理设备采集到的信号,并向智能服务器层提供以上信息的访问接口;智能服务层由多种智能业务组成,按照自身的业务需求向状态服务器层请求数据,完成智能业务的服务,如图2所示。不同于状态服务器层,物理层和智能服务层只需遵循特定的接口,实际的物理设备或智能服务的类型可以是任意形式。下面将分别解释每个层次的作用和功能细节。
一、物理层
由大量异构设备组件组成,负责与物理环境的交互,包括信号采集和执行操作等,每个设备组件包含物理设备(Device)和代理程序(Agent Program,AP),物理设备是任何有信息采集或执行操作功能的实体或虚拟设备,代理程序在物理设备上运行,并对物理设备面向普适网络进行全权代理。
物理设备包含光线感应器、声音传感器、加速度传感器、摄像头、温控传感器等具有信息采集功能的设备,可感应周围的光照强度、声音、设备自身的 加速度和温度等,将模拟信号转换为计算机可处理的数字信号。物理设备也包含显示屏、机械臂、自动开关等具有展示或操作功能的设备,可根据业务需求向用户展示信息,如使用说明、提示信息甚至广告等,具有操作功能的机械装置可根据业务指令移动物体、开关闸门等,自动开关装置可根据业务指令开关灯光,调节空调温度等。普适计算依赖于非常丰富的物理信息采集,因此各种新式的传感器层出不穷,未来还可能有新型的设备形式被发明出来。总而言之,普适计算系统通过这些硬件设备与现实物理环境进行交互,不仅包括从物理环境中采集信息,也包括执行智能操作,并改变物理环境。
每台物理设备都携带对应的代理程序(Agent Program,AP)。AP是对物理设备在软件层面的封装,是物理设备和普适计算软件系统连接的桥梁。其功能至少包含以下五个方面:
1)AP存储了设备的元信息(Meta Info)。元信息包含设备类型、设备属性、设备位置、处理能力等描述设备本身的信息,也包含信号格式、更新方式、更新频率、设备描述、字段含义等描述信号类型的信息。AP还同时支持对以上信息的管理功能。除设备类型、设备id等设备出厂时固定的信息外,AP可在安装设备时更新设备位置、访问路径、权限编号、设备描述等信息,甚至还可以进行软件升级更新AP自身,从而改变信号格式、字段含义等信息。AP将以上配置信息保存到本地,当向普适计算网络注册该设备时,会提供以上元信息给状态服务器,方便状态服务器索引该设备。
2)AP负责保证物理设备采集到的信号在状态服务器上是实时最新的,其与状态服务器的关系如图3所示。根据设备类型,AP通过三种方式将自身采集到的信号发送给状态服务器,分别是:①周期发送,以固定时间间隔发送设备最新信号,间隔时长在设备元信息(Meta Info)中说明,该方式适用于温度传感器、水位感应器等数值连续,但实时性要求不高的设备类型;②触发发送,只有当 设备信号发生变化时才发送,适用于报警感应器、门禁系统等信号触发时间完全随机的设备类型;③长连接,设备与状态服务器建立网络长连接,适用于显示器、麦克风等需要实时传输的设备类型。信号的更新类型在设备的元信息(MetaInfo)中定义,信号内容由设备所有者(Owner)的身份信息加密。信号更新也是AP最重要的作用。
3)具有执行操作能力的AP负责在接收到操作指令之后驱动设备执行对应的操作。例如显示器显示指定的信息,空调设备调节温度,车库门传动设备打开车库门等。设备操作动作由状态服务器发送指令,操作的权限在状态服务器上验证,操作执行的结果由AP收集,当与预期结果不符(出现异常)时,AP向状态服务器发送异常信息。
4)发送心跳连接。实际网络中必须要考虑网络服务质量(QoS)的问题,以触发方式和长连接方式发送信号的设备可能较长时间内都没有新信息,周期发送信号的设备也可能周期设置得过长,在此期间如果设备出现故障或网络断开,状态服务器层就无法及时得知设备状态。因此,AP的一个重要任务是周期性地定时向状态服务器发送心跳连接,声明自己在线。状态服务器无需对心跳信号发送任何反馈,当超出预定的心跳时长未收到设备的心跳连接时,将设备列为问题设备(Broken Device),当超过系统设定的时长没有收到设备的心跳连接时,将设备从索引库中删除,表示设备离线。
5)存储状态服务器信息,维护设备迁移时的数据有效性和一致性。AP将设备信号更新到多台(3台或以上)状态服务器,从而保证当其中一台状态服务器宕机或物理设备发生迁移时能连接到最近的状态服务器。当迁移发生时,AP发送取消注册功能,附带新的可用服务器地址列表,状态服务将设备信息保存一段时间后删除。
除此之外,物理层还可建立“无物理设备”的AP,称为虚拟AP(Virtual AgentProgram),该AP嵌入到已有的计算机系统中,仅通过软件逻辑即可采集到所需的环境信息。物理设备是否存在对状态服务器而言是透明的。
AP通过无状态的HTTP协议向状态服务器发送的数据,元信息格式为utf-8编码的xml或json格式,信号内容根据其元信息定义发送有意义的字符型数据或二进制的字节型数据。
二、状态服务器层
支持多种通信方式,临时保存物理设备的状态信息,物理设备当前采集到的信号称为状态,状态信息实时地更新在状态服务器(Status Server)上,状态服务器向智能服务层提供高性能的访问能力。状态服务器不存储历史数据,其本质上是一种基于内存的数据库(Memory Based Database)。其主要有以下五个功能:
1)设备注册和元数据搜索功能。新设备加入普适计算网络时向状态服务器发送设备元信息,状态服务器检查元信息格式正确性以及与已注册设备是否冲突,检查通过后将该元信息加入到索引库中,智能服务可根据不同的设备元信息字段搜索设备id,并根据id在该状态服务器上访问设备当前信息。
2)状态数据访问功能。状态服务器接近实时地反映传感器当前的信息,支持上文提到了周期、触发和长连接三种AP数据发送方式。如图4所示,从状态服务器的数据输入方面讲,前两种方式基于无状态的HTTP消息传输,而第三种长连接传输则通过状态服务器提供的类似网络组播的功能传输:从物理设备AP获取信息,并分组发送给所有请求该设备状态的智能服务。从状态服务器的数据输出来讲,首先,智能服务根据自身业务需求周期性地向状态服务器请求状态数据;其次,状态服务器提供消息订阅和推送功能,智能服务订阅设备消 息并设置订阅规则之后,状态服务器在状态信号满足规则触发条件时,向智能服务器推送最新状态数据;最后,对于长连接型服务,智能服务器作为组播服务网关,为物理设备AP和智能服务建立组播连接。除此之外,状态服务器还负责维护本身数据的一致性。
3)权限验证功能。为保证隐私性和安全性,物理设备的信息采集和执行操作都有权限验证控制。状态服务器除验证设备元数据信息有效性之外,还会验证请求数据的智能服务是否有元数据搜索权限,是否有状态信息访问权限。在智能服务请求设备执行具体操作时,需出具三方权限证明,分别是用户订购了该服务,用户有使用该设备的权限,以及该服务有使用该设备的权限。由于设备状态信息是加密存储在状态服务器上,未获得授权的服务无法访问未授权的硬件状态信息,也无法给未获得授权的设备发送操作指令。
4)互联功能。面向大规模分布式的普适计算所带来的巨大访问压力,单台状态服务器的处理能力显然是不够的。因此已入网的状态服务器组成状态服务器网络,分布式处理大规模的访问请求,从而降低单台主机的服务压力。由于单个设备状态信息同时保存在多台状态服务器上,这多台服务器之间的每台服务器都记录其他服务器的地址列表。当设备AP与该服务器断开连接后,新的请求将会被重定向到列表中的其他服务器。
5)状态监控功能。记录状态服务器本身的CPU占用、内存占用、负载信息、带宽压力等。此外状态服务器本身有名称、位置、带宽、内存大小等自有属性,也会有本身服务区域、服务内容偏好等与状态服务内容相关的信息。状态监控功能提供以上信息的访问接口,设备注册时根据服务器的服务压力选择合适的状态服务器注册,智能业务可选择服务范围内的状态服务器搜索设备信息。
由于状态服务器是基于内存的数据库,支持高度并发访问,因此当多个智能业务请求同一设备信息时,设备本身无需承担太大的访问压力。除以上功能点之外,状态服务器不保存设备历史数据,不进行情境信息融合运算,不解决不同设备之间的冲突性,这些操作都由智能服务层根据其自身业务特点完成。
三、智能服务层
由众多不同类型的智能服务组成,通过指定接口提供服务,按照自身的业务需求向状态服务器层请求数据,通过状态服务器提供的接口访问数据和发送指令,完成智能业务的服务。
普适计算的服务需求差异很大,既有简单的人走关灯这样简单的触发式业务,又有情境推理、行为预测等涉及到复杂机器学习算法的智能业务。智能服务根据自身业务需求,从状态服务器的元数据库中搜索自己关心的设备,获取相应的设备状态信息,运算后给状态服务器发送指令执行合适的操作。
智能服务与状态服务器同样通过无状态的HTTP协议或长连接方式通信。根据需要,智能服务需自己保存历史数据,建立知识库,进行情境融合或推理等从简单到复杂的业务。智能服务的开发可由公司、个人、团队、非盈利组织等任何人完成,普通用户可购买所需的服务。
本发明框架的工作原理:本发明通过状态服务器的设计,将普适计算中的物理层抽象化;利用内存数据库良好的访问性能,为各种类型的智能服务提供可靠的数据来源支持;通过定义接口和消息传输协议,提高普适计算每个模块的内聚性,将系统的各个模块解耦合,降低了开发的复杂度,使已有的基础构件可重用,提高了系统的扩展性,可保证满足普适计算在大数据背景下分布式计算的需求。
本发明设计方案面向普适计算在实施过程中必然要面临的大规模、高并发 特点,是整个普适计算框架的基础。所述的物理层和智能服务层均面向服务开发,通过RESTfulAPI调用,每个实例同时是Server端和Client端,是普适计算中单个实例的封装。所述的状态服务器是系统内信息交互的关键中间件,是基于内存数据库的一种实现。
如图5所示,开发了WarnByLocation服务,该服务的作用是基于位置信息对用户进行提醒。该服务访问可访问区域内联网的A、B、C、D四台ATM设备,分别获取其银行品牌和位置信息;每台ATM设备附近有一块电子广告牌,服务可获得电子广告牌的位置并控制其显示内容,因这五台设备在安装时已作为普适计算设备在普适网络中注册,且开放以上接口信息。用户A购买WarnByLocation服务,并设置当有B银行品牌的ATM在附近时提醒其取款,A点击同意分享自身的的实时位置,并允许WarnByLocation服务通过手机或其他途径为A发送通知。
WarnByLocation服务检测到A发生移动时,主动获取A的实时位置并在其附近500米范围内寻找ATM设备,当检测到A距离ATM机B距离小于500米时,该服务驱动A随身携带的手机进行震动,提醒A取款。
此时A并未查看手机,因此预设提醒失败,WarnByLocation服务主动在B附近搜索可用提醒设备,并搜索到了电子广告版显示屏,当A走近时,该服务控制显示屏闪烁文字提示用户A查看手机,用户A注意到了该提醒,本次提醒服务成功。
通过以上实例看出本文所述的服务的提供方式,即主动服务,而用户无需预先输入所有条件,除此之外,还可利用更多更丰富的情境信息为用户提供形式多样的服务。用户还可以根据服务成功率、服务质量及其他用户的评价等,决定是否继续购买该服务,服务提供方也可按服务量收费。用户可同时购买多 种服务满足自己多样化的需求。
如图6所示,开发了TaxiHelper租车信息服务。该服务请求访问出租车的实时位置和是否载客信息,该信息通过出租车上的计价器接入普适计算网络获得。该服务为出租车提供最佳的租车客源信息。用户B使用TaxiHelper服务寻求租车,将自身的实时位置注册到普适网络,标记为待上车。TaxiHelper服务搜索到距离B附近有2辆车E和F,其中E正向B方向行驶,预计2分钟后到达,而F虽离B较近,但行驶在驶离B的方向,其调头后预计要10分钟,因此TaxiHelper服务通知出租车E载客。
以上是TaxiHelper服务单个用户的过程,其更有价值的功能在于客流预测功能,经过历史数据发现,当下班高峰期(18:00-20:00)时,位置G附近平均每天有100人使用TaxiHelper打车。因此该服务在高峰期之前主动调遣一定数量的出租车前往位置G待命,缩短了乘客平均打车时间,有效利用了出租车资源。
通过TaxiHelper服务的例子可以看出,当服务的用户够多时,可根据统计数据获得更多有价值的信息。相较于传统从单个用户有限的信息中推理得到结论,基于大量用户统计信息的服务方法可降低服务成本,提高服务准确性。
以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
Claims (5)
1.一种基于状态中间件的普适性移动计算系统,其特征在于,包括有:
物理层,由多个异构设备组件组成,负责与物理环境的交互,包括信号采集和执行操作,每个设备组件包含物理设备和代理程序,其中,物理设备是任何有信息采集或执行操作功能的实体或虚拟设备,代理程序在物理设备上运行,并对物理设备面向普适网络进行全权代理;
状态服务器层,支持多种通信方式,临时保存物理设备的状态信息,物理设备当前采集到的信号称为状态,状态信息实时地更新在状态服务器上,状态服务器具有并发访问服务能力;
智能服务层,由多个不同类型的智能服务组成,通过指定接口提供服务,按照自身的业务需求向状态服务器层请求数据,通过状态服务器提供的接口访问数据和发送指令,完成智能业务的服务;
其中,所述物理设备包含具有信息采集功能的设备及具有展示或操作功能的设备,普适计算通过具有信息采集功能的设备及具有展示或操作功能的设备与现实物理环境进行交互,不仅包括从物理环境中采集信息,也包括执行智能操作,并改变物理环境;
每台物理设备都携带对应的代理程序,代理程序是对物理设备在软件层面的封装,是物理设备和普适计算软件系统连接的桥梁,其功能至少包含以下五个方面:
1)代理程序存储了设备的元信息,元信息包含描述设备本身信息的设备类型、设备属性、设备位置和处理能力,也包含描述信号类型信息的信号格式、更新方式、更新频率、设备描述和字段含义;代理程序还同时支持对以上信息的管理功能,除设备类型和设备id这两个设备出厂时固定的信息外,代理程序在安装设备时更新设备位置、访问路径、权限编号和设备描述的信息,还能够进行软件升级更新代理程序自身,从而改变信号格式和字段含义信息;代理程序将以上配置信息保存到本地,当向普适计算网络注册该设备时,会提供以上元信息给状态服务器,方便状态服务器索引该设备;
2)代理程序负责保证物理设备采集到的信号在状态服务器上是实时最新的,根据设备类型,代理程序通过三种方式将自身采集到的信号发送给状态服务器,分别是:①周期发送,以固定时间间隔发送设备最新信号,间隔时长在设备元信息中说明,该周期发送方式适用于温度传感器、水位感应器的数值连续,但实时性要求不高的设备类型;②触发发送,只有当设备信号发生变化时才发送,适用于报警感应器和门禁系统这两个信号触发时间完全随机的设备类型;③长连接,设备与状态服务器建立网络长连接,适用于显示器和麦克风这两个需要实时数据传输的设备类型;信号的更新类型在设备的元信息中定义,信号内容由设备所有者的身份信息加密;
3)具有执行操作能力的代理程序负责在接收到操作指令之后驱动设备执行对应的操作;设备操作动作由状态服务器发送指令,操作的权限在状态服务器上验证,操作执行的结果由代理程序收集,当与预期结果不符时,代理程序向状态服务器发送异常信息;
4)发送心跳连接,周期性地定时向状态服务器发送心跳连接,声明自己在线,状态服务器无需对心跳信号发送任何反馈,当超出预定的心跳时长未收到设备的心跳连接时,将设备列为问题设备,当超过系统设定的时长未收到设备的心跳连接时,将设备从索引库中删除,表示设备离线;
5)存储状态服务器信息,维护设备迁移时的数据有效性和一致性;代理程序将设备信号更新到多台状态服务器,从而保证当其中一台状态服务器宕机或物理设备发生迁移时能连接到最近的状态服务器;当迁移发生时,代理程序发送取消注册功能,附带新的可用服务器地址列表,状态服务器将设备信息保存设定时间后删除。
2.根据权利要求1所述的一种基于状态中间件的普适性移动计算系统,其特征在于:所述物理层能够建立无物理设备的代理程序,称为虚拟代理程序,该代理程序嵌入到已有的计算机系统中,仅通过软件逻辑即可采集到所需的环境信息。
3.根据权利要求1或2所述的一种基于状态中间件的普适性移动计算系统,其特征在于:所述代理程序通过无状态的HTTP协议向状态服务器发送的数据,元信息格式为utf-8编码的xml或json格式,信号内容根据其元信息定义发送有意义的字符型数据或二进制的字节型数据。
4.根据权利要求1所述的一种基于状态中间件的普适性移动计算系统,其特征在于:所述状态服务器不存储历史数据,为基于内存的数据库,其有以下五个功能:
1)设备注册和元数据搜索功能;新设备加入普适计算网络时向状态服务器发送设备元信息,状态服务器检查元信息格式正确性以及与已注册设备是否冲突,检查通过后将该元信息加入到索引库中,智能服务可根据不同的设备元信息字段搜索设备id,并根据id在该状态服务器上访问设备当前信息;
2)状态数据访问功能;状态服务器实时地反映传感器当前的信息,支持周期、触发和长连接三种代理程序数据发送方式,从状态服务器的数据输入方面讲,前两种方式基于无状态的HTTP消息传输,而第三种长连接传输则通过状态服务器提供的类似网络组播的功能传输:从物理设备AP获取信息,并分组发送给所有请求该设备状态的智能服务;从状态服务器的数据输出方面来讲,首先,智能服务根据自身业务需求周期性地向状态服务器请求状态数据;其次,状态服务器提供消息订阅和推送功能,智能服务订阅设备消息并设置订阅规则之后,状态服务器在状态信号满足规则触发条件时,向智能服务器推送最新状态数据;最后,对于长连接型服务,智能服务器作为组播服务网关,为物理设备AP和智能服务建立组播连接;除此之外,状态服务器还负责维护本身数据的一致性;
3)权限验证功能;为保证隐私性和安全性,物理设备的信息采集和执行操作都有权限验证控制,状态服务器除验证设备元数据信息有效性之外,还验证请求数据的智能服务是否有元数据搜索权限,是否有状态信息访问权限;在智能服务请求设备执行具体操作时,需出具三方权限证明,分别是用户订购了该服务,用户有使用该设备的权限,以及该服务有使用该设备的权限;由于设备状态信息是加密存储在状态服务器上,未获得授权的服务无法访问未授权的硬件状态信息,也无法给未获得授权的设备发送操作指令;
4)互联功能;已入网的状态服务器组成状态服务器网络,分布式处理大规模的访问请求,从而降低单台主机的服务压力;由于单个设备状态信息同时保存在多台状态服务器上,此多台服务器之间的每台服务器都记录其他服务器的地址列表;当设备代理程序与某台服务器断开连接后,新的请求将被重定向到列表中的其他服务器;
5)状态监控功能;记录状态服务器本身的CPU占用、内存占用、负载信息和带宽压力信息,此外状态服务器本身有名称、位置、带宽和内存大小的自有属性,也有本身服务区域和服务内容偏好这两个与状态服务内容相关的信息;状态监控功能提供信息的访问接口,设备注册时根据服务器的服务压力选择合适的状态服务器注册,智能业务可选择服务范围内的状态服务器搜索设备信息。
5.根据权利要求1所述的一种基于状态中间件的普适性移动计算系统,其特征在于:智能服务根据自身业务需求,从状态服务器的元数据库中搜索自己关心的设备,获取相应的设备状态信息,运算后给状态服务器发送指令执行相应的操作;智能服务与状态服务器同样通过无状态的HTTP协议或长连接方式通信,根据需要,智能服务需自己保存历史数据,建立知识库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510404468.1A CN104980525B (zh) | 2015-07-10 | 2015-07-10 | 一种基于状态中间件的普适性移动计算系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510404468.1A CN104980525B (zh) | 2015-07-10 | 2015-07-10 | 一种基于状态中间件的普适性移动计算系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104980525A CN104980525A (zh) | 2015-10-14 |
CN104980525B true CN104980525B (zh) | 2018-09-14 |
Family
ID=54276618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510404468.1A Active CN104980525B (zh) | 2015-07-10 | 2015-07-10 | 一种基于状态中间件的普适性移动计算系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104980525B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3129873A1 (en) | 2014-04-09 | 2017-02-15 | Convida Wireless, LLC | Service enabler function |
CN106484824B (zh) * | 2016-09-28 | 2019-09-10 | 华东师范大学 | 基于多元数据库支持组件的知识图谱异构存储框架中间件 |
CN107590392A (zh) * | 2017-08-14 | 2018-01-16 | 大唐高鸿信安(浙江)信息科技有限公司 | 利用脚本校验硬件完整性的系统及方法 |
US20200133267A1 (en) * | 2018-10-25 | 2020-04-30 | GM Global Technology Operations LLC | Middleware support for fault-tolerant execution in an adaptive platform for a vehicle |
CN109587046B (zh) * | 2018-11-22 | 2021-05-14 | 深圳大宇无限科技有限公司 | 数据处理方法以及网关系统 |
CN109586973B (zh) * | 2018-12-20 | 2020-11-10 | 北京交通大学 | 基于普适标识网络体系的数据流跳变传输方法 |
CN111541606B (zh) * | 2020-04-17 | 2022-09-30 | 广东智源机器人科技有限公司 | 网关处理方法、网关设备和网关系统 |
CN114363341A (zh) * | 2022-03-21 | 2022-04-15 | 北京云迹科技股份有限公司 | 基于网关的机器人调度方法、装置、设备及存储介质 |
CN116828457B (zh) * | 2023-08-30 | 2023-11-17 | 四川轻化工大学 | 应用于酒窖中智能无线监测方法、系统和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050246726A1 (en) * | 2004-04-28 | 2005-11-03 | Fujitsu Limited | Task computing |
CN102480480A (zh) * | 2010-11-26 | 2012-05-30 | 中国科学院软件研究所 | 一种普适计算环境下的资源调度方法 |
CN103258027A (zh) * | 2013-05-08 | 2013-08-21 | 南京邮电大学 | 基于智能终端的情境感知服务平台 |
CN103685409A (zh) * | 2012-09-18 | 2014-03-26 | 中国科学院声学研究所 | 一种面向自主服务的知识网络及其构建方法 |
-
2015
- 2015-07-10 CN CN201510404468.1A patent/CN104980525B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050246726A1 (en) * | 2004-04-28 | 2005-11-03 | Fujitsu Limited | Task computing |
CN102480480A (zh) * | 2010-11-26 | 2012-05-30 | 中国科学院软件研究所 | 一种普适计算环境下的资源调度方法 |
CN103685409A (zh) * | 2012-09-18 | 2014-03-26 | 中国科学院声学研究所 | 一种面向自主服务的知识网络及其构建方法 |
CN103258027A (zh) * | 2013-05-08 | 2013-08-21 | 南京邮电大学 | 基于智能终端的情境感知服务平台 |
Non-Patent Citations (1)
Title |
---|
"普适计算中间件技术";丁博等;《计算机科学与探索》;20071015;第1卷(第3期);第4页第3章 * |
Also Published As
Publication number | Publication date |
---|---|
CN104980525A (zh) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104980525B (zh) | 一种基于状态中间件的普适性移动计算系统 | |
US20230319158A1 (en) | Method and system for sensing information, imputing meaning to the information, and determining actions based on that meaning, in a distributed computing environment | |
Bellavista et al. | A survey on fog computing for the Internet of Things | |
Diène et al. | Data management techniques for Internet of Things | |
US10878379B2 (en) | Processing events generated by internet of things (IoT) | |
Ahmed et al. | The role of big data analytics in Internet of Things | |
Gavrilović et al. | Software architecture of the internet of things (IoT) for smart city, healthcare and agriculture: analysis and improvement directions | |
Rahman et al. | A comprehensive survey on semantic interoperability for Internet of Things: State‐of‐the‐art and research challenges | |
Ng et al. | A semantic similarity analysis of Internet of Things | |
Dustdar et al. | Smart cities | |
US10990894B2 (en) | Situation forecast mechanisms for internet of things integration platform | |
Cao et al. | Analytics everywhere: generating insights from the internet of things | |
Ali et al. | Towards sustainable smart IoT applications architectural elements and design: opportunities, challenges, and open directions | |
Lan et al. | An IoT unified access platform for heterogeneity sensing devices based on edge computing | |
EP3469496B1 (en) | Situation forecast mechanisms for internet of things integration platform | |
Mirmohseni et al. | Using Markov learning utilization model for resource allocation in cloud of thing network | |
CN105683847A (zh) | 通过物联网集成平台的物理环境配置 | |
CN105579993A (zh) | 用于物联网集成平台的数据整合机制 | |
Alexandru et al. | Shaping the digital citizen into a smart citizen on the basis of iot capabilities | |
CN105243080A (zh) | 基于esb架构的资源感知自适应适配系统 | |
Khosla et al. | Design of intelligent multi-agent systems: human-centredness, architectures, learning and adaptation | |
You et al. | A federated platform enabling a systematic collaboration among devices, data and functions for smart mobility | |
CN116910567B (zh) | 推荐业务的在线训练样本构建方法及相关装置 | |
Tsigkanos et al. | Cloud deployment tradeoffs for the analysis of spatially distributed internet of things systems | |
US20210336862A1 (en) | Data sample template (dst) management for enabling fog-based data processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |