一种数据监控的方法和装置制造方法及图纸

技术编号:12929972 阅读:41 留言:0更新日期:2016-02-29 01:12
本发明专利技术提供了一种数据监控的方法和装置。所述方法包括:针对各C语言对象,将所述C语言对象的多个属性分别保存在针对所述C语言对象预置的哈希表中,所述属性包括属性名称、属性值和属性值类型;接收通过访问预置的监听接口发送的第一目标访问所述哈希表的请求,读取并返回所述哈希表中C语言对象的属性,生成所述第一目标读取所述属性的第一消息,或修改所述哈希表中C语言对象的属性,生成所述第一目标修改所述属性的第二消息;通过所述监听接口将所述第一消息或所述第二消息发送给注册所述监听接口的第二目标。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种数据监控的方法和装置。所述方法包括:针对各C语言对象,将所述C语言对象的多个属性分别保存在针对所述c语言对象预置的哈希表中,所述属性包括属性名称、属性值和属性值类型;接收通过访问预置的监听接口发送的第一目标访问所述哈希表的请求,读取并返回所述哈希表中C语言对象的属性,生成所述第一目标读取所述属性的第一消息,或修改所述哈希表中C语言对象的属性,生成所述第一目标修改所述属性的第二消息;通过所述监听接口将所述第一消息或所述第二消息发送给注册所述监听接口的第二目标。【专利说明】一种数据监控的方法和装置
本专利技术涉及数据处理
,特别是涉及一种数据监控的方法,以及,一种数据 监控的装置。
技术介绍
C语言是一种比较接底层的计算机程序设计语言,它既具有高级语言的特点,又具 有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程 序设计语言,编写不依赖计算机硬件的应用程序。 在面向对象的编程里,一切事物皆对象,通过面向对象的方式,将现实世界的事物 抽象成对象,现实世界中的关系抽象成类和继承,帮助人们实现对现实世界的抽象与数字 建模。通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。同 时,面向对象能有效提高编程的效率,通过封装技术,消息机制可以像搭积木的一样快速开 发出一个全新的系统。因此C++、Java、C#等面向对象的开发语言得到了快速的发展和广泛 的应用。 在一些底层的系统开发者,为了得到更好的效率和移植,必须使用C语言来编写。 而C语言是一门面向过程的语言,本身并不提供面向对象的编程环境。 在使用C语言编写的面向对象程序中,程序能够对对象的数据进行直接的访问和 修改,而这些修改的数据有可能影响到其他对象,但他们却无法在数据修改后得到及时的 通知,并做出相应的响应,为了处理这种情况,开发者必须设计一种通知机制以满足需求。 同时在面向对象的编程中,一个很重要的特点就是数据的封装,控制数据的访问 和修改权限,能被其他对数据感兴趣的对象或模块捕获,从而做出相应的反馈。 综上所述,为了利用面向对象的优点,需要有一套基于C语言的供开发者自己实 现面向对象的机制。
技术实现思路
本专利技术提供了一种数据监控的方法和装置,以全部解决或部分解决上述技术问 题。 本专利技术提供了一种数据监控的方法,包括: 针对各C语言对象,将所述C语言对象的多个属性分别保存在针对所述C语言对 象预置的哈希表中,所述属性包括属性名称、属性值和属性值类型; 接收通过访问预置的监听接口发送的第一目标访问所述哈希表的请求,读取并返 回所述哈希表中C语言对象的属性,生成所述第一目标读取所述属性的第一消息,或修改 所述哈希表中C语言对象的属性,生成所述第一目标修改所述属性的第二消息; 通过所述监听接口将所述第一消息或所述第二消息发送给注册所述监听接口的 第二目标。 优选地,所述哈希表中的数据以键-键值的形式保存,所述键为所述属性的属性 名称,所述键值为所述属性的属性值和属性值类型,所述读取所述哈希表的请求携带请求 读取的属性的名称。 优选地,所述读取并返回所述哈希表中C语言对象的属性包括: 以所述第一目标请求读取的属性的属性名称作为键,查找所述键对应的键值,作 为请求读取的属性; 将查找的属性通过所述监听接口返回给所述第一目标。 优选地,所述方法还包括: 接收第一目标或第二目标监听所有属性或部分属性的请求,并将所述第一目标或 第二目标的身份信息添加到预置的监听对象名单中。 优选地,所述属性的数据类型为字符型、字符串型、整形、浮点型或指针型。 本专利技术还提供了一种数据监控的装置,包括: 保存模块,用于针对各C语言对象,将所述C语言对象的多个属性分别保存在针对 所述C语言对象预置的哈希表中,所述属性包括属性名称、属性值和属性值类型; 第一访问模块,用于接收通过访问预置的监听接口发送的第一目标访问所述哈希 表的请求,读取并返回所述哈希表中C语言对象的属性,生成所述第一目标读取所述属性 的第一消息,或,第二访问模块,用于修改所述哈希表中C语言对象的属性,生成所述第一 目标修改所述属性的第二消息; 消息发送模块,用于通过所述监听接口将所述第一消息或所述第二消息发送给注 册所述监听接口的第二目标。 优选地,所述哈希表中的数据以键-键值的形式保存,所述键为所述属性的属性 名称,所述键值为所述属性的属性值和属性值类型,所述读取所述哈希表的请求携带请求 读取的属性的名称。 优选地,所述第一访问模块包括: 键值查找子模块,用于以所述第一目标请求读取的属性的属性名称作为键,查找 所述键对应的键值,作为请求读取的属性; 键值返回子模块,用于将查找的属性通过所述监听接口返回给所述第一目标。 优选地,所述装置还包括: 添加模块,用于接收第一目标或第二目标监听所有属性或部分属性的请求,并将 所述第一目标或第二目标的身份信息添加到预置的监听对象名单中。 优选地,所述属性的数据类型为字符型、字符串型、整形、浮点型或指针型。 与
技术介绍
相比,本专利技术包括以下优点: 依据本专利技术实施例,将C语言对象的属性和属性的分类保存在哈希表中,通过监 听接口接收到第一目标对数据的访问请求后,从哈希表中读取或是修改C语言对象的属 性,并生成相应的消息通知给监听语言对象的第二目标,由此可见,本专利技术实施例提供了一 种面向对象的键值观察者模式,当指定的对象的属性被修改后,该对象和对该对象感兴趣 的监听者就会接收到通知。简单的说就是每次指定的被观察的对象的属性被修改后,就会 自动通知相应的观察者。 并且,本专利技术实施例还可以控制监听C语言对象的权限,监听者必须注册为所有 属性或者某个具体属性的监听者,增添到监听对象名单中才可以实现对C语言对象的监 听。 此外,每一个属性分类都是从基类继承下来,在编写属性分类时,不必再为每个属 性编写接口,自然获得了基类的键值观察者功能,无需增加新的应用程序,节省了存储空间 和资源的浪费,简化了编程工作,方便扩展。 【专利附图】【附图说明】 图1是本专利技术实施例的一种数据监控的方法的流程图; 图2是本专利技术实施例的一种数据监控的装置的结构框图。 【具体实施方式】 为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本专利技术作进一步详细的说明。 基于C语言本身并不提供面向对象机制的问题,本专利技术实施例提供了一种基于C 语言的键值观察者模式,即KVO(Key-Value Observing),KV0设计模式的设计思想在于提供 了一种机制,当指定的对象的属性被修改后,该对象和对该对象感兴趣的监听者就会接收 到通知。简单的说就是每次指定的被观察的对象的属性被修改后,就会自动通知相应的观 察者。 下面通过实施例对本专利技术所述方法的实现流程进行详细说明。 参照图1,其示出了本专利技术实施例所述一种数据监控的方法的流程图,所述方法具 体可以包括: 步骤101、针对各C语言对象,将所述C语言对象的多个属性分别保本文档来自技高网
...

【技术保护点】
一种数据监控的方法,其特征在于,包括:针对各C语言对象,将所述C语言对象的多个属性分别保存在针对所述C语言对象预置的哈希表中,所述属性包括属性名称、属性值和属性值类型;接收通过访问预置的监听接口发送的第一目标访问所述哈希表的请求,读取并返回所述哈希表中C语言对象的属性,生成所述第一目标读取所述属性的第一消息,或修改所述哈希表中C语言对象的属性,生成所述第一目标修改所述属性的第二消息;通过所述监听接口将所述第一消息或所述第二消息发送给注册所述监听接口的第二目标。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘细华
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1