一种数据管理方法与流程

文档序号:14953182发布日期:2018-07-17 23:00阅读:185来源:国知局

本申请涉及数据处理技术领域,尤其涉及一种数据管理方法。



背景技术:

随着现代科技发展,如手机和ipad等移动终端设备,如智能可穿戴产品、智能家居、智能车载、医疗健康和智能无人系统等的智能硬件设备以及物联网技术不断发展、成熟。目前,智能硬件设备一般能够在移动终端设备的控制下实现其各自的功能,方便、快捷、实用,且随着移动终端设备的普及,智能硬件设备的设计越来越依赖于移动终端设备的控制。

由于智能硬件设备爆发式的增加,使得移动终端设备需要通过物联网同时控制多个智能硬件设备。具体地,移动终端设备上安装相应于智能硬件设备的客户端app(英文全称:application;中文全称:手机软件)。移动终端设备通过客户端app及服务器实现对智能硬件设备的访问、信息更改以及信息存储等操作。相对应的,智能硬件设备会通过服务器对移动终端设备的操作做出响应及信息反馈,实现移动终端设备、服务器与智能硬件设备之间的数据传输。智能硬件设备对移动终端设备的操作做出响应及信息反馈时,需要发送给移动终端设备大量的反馈数据,以表示智能硬件设备已对移动终端设备的操作做出相应处理。服务器传送上述反馈数据时,会采用关系型数据处理方式和并行数据处理方式进行数据处理。由于数据处理需要保证数据处理的准确度和处理速度,因而,目前主要采用并行数据处理方式来处理数据。采用并行数据处理方式处理反馈数据时,不同的反馈数据输入能够以并行方式运行同一个函数,服务器把智能硬件设备发送的反馈数据分解成不连续的单元,因此,大量的反馈数据被分解后可以在单独的线程上并行处理,实现反馈数据在可用处理器之间的分配。

由于并行数据处理方式以处理器为中心,而物联网环境下为减少数据移动带来的开销,需要采用以数据为中心的处理模式,因而目前的并行数据处理方式难以保证其可用性和扩展性。另外,面对海量数据处理,目前的并行数据处理方式来源单一,管理和分析数据量相对较小,处理速度较慢。



技术实现要素:

本申请提供了一种数据管理方法,以解决现有并行处理方法在处理海量数据时,处理速度较慢的技术问题。

为了解决上述技术问题,本申请实施例公开了如下技术方案:

本发明提供了一种数据管理方法,所述数据管理方法包括:

服务器接收智能硬件设备发送的数据包,对所述数据包加外层参数,将加外层参数的所述数据包下发至移动终端设备的客户端app,所述客户端至少为一个;

所述客户端中的总数据处理器将所述数据包拆分为多个数据集;多个所述数据集外包括所述外层参数;

判断所述客户端app是否前台运行;

若前台运行,则根据所述数据集外的所述外层参数判断是否仅向一个所述客户端app发送所述数据集;

若是,则将所述数据集分发至所述客户端app的单独数据处理器,以使所述单独数据处理器处理所述数据集,生成单独执行指令;

若不是,则将所述数据集分发至所述客户端app的广播数据处理器,以使所述广播数据处理器处理所述数据集,生成广播执行指令;

所述客户端app的任务执行处理器接收所述单独执行指令和所述广播执行指令,并优先执行所述单独执行指令。

优选的,上述数据管理方法还包括:若不前台运行,则将多个所述数据集下发至所述客户端app的离线数据处理器,以使所述离线数据处理器处理所述数据集,并存储至本地数据库中。

优选的,在上述数据管理方法中,若所述客户端app跳转至前台运行,则即刻将所述本地数据库中的数据同步至所述客户端app。

优选的,在上述数据管理方法中,所述本地数据库为嵌入式sql数据库。

优选的,在上述数据管理方法中,将加外层参数的所述数据包下发至移动终端设备的客户端app包括:

查询所述智能硬件设备与所述客户端app的绑定关系,以根据所述绑定关系将加外层参数的所述数据包下发至移动终端设备的客户端app。

优选的,在上述数据管理方法中,所述任务执行处理器执行指令后生成执行结果,并发送给所述总数据处理器,以显示执行结果。

优选的,在上述数据管理方法中,所述单独执行指令包括警报通知和/或即时通讯数据。

优选的,在上述数据管理方法中,所述优先执行所述单独执行指令包括:

根据优先处理队列,分发至所述任务执行处理器的指令按照优先级降序排列,所述任务执行处理器优先执行所述优先处理队列队首的所述指令。

优选的,在上述数据管理方法中,对所述数据包加外层参数包括:

采用json数据交换格式对所述数据包添加外层参数。

与现有技术相比,本申请的有益效果为:

本发明实施例提供了一种数据管理方法,该数据管理方法包括:服务器在智能硬件设备发送的数据包上添加外层参数,并查询数据包与客户端app的绑定关系且下发至所述客户端app,手机中总数据处理器将所述数据包拆分为多个数据集。当客户端app正在前台运行,再根据所述数据包外层参数判断,所述服务器是否仅向一个所述客户端app发送所述数据包,若是,则将所述数据集分发至单独数据处理器,若不是,则将所述数据集分发至广播数据处理器。所述单独数据处理器和所述广播数据处理器对接收的所述数据集通过处理数据生成信号与指令,根据所述信号与指令,任务执行处理器对客户端app业务层进行操作。本申请中的数据管理方法,根据上述不同情况,将智能硬件设备的数据包下发至不同的处理器,具有更强的数据并行处理能力,面对海量数据集,提高了处理速度,减少了用户的等待时间,提高了用户体验。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种数据管理方法的应用场景图;

图2为本发明实施例提供的一种数据管理方法的流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

参见图1,本发明实施例提供的一种数据管理方法的应用场景图。由图1所示,移动终端设备通过客户端app及服务器实现对智能硬件设备的访问、信息更改以及信息存储等操作。相对应的,智能硬件设备会通过服务器对移动终端设备的操作做出响应及信息反馈,实现移动终端设备、服务器与智能硬件设备之间的数据传输。本发明实施例公开了一种数据管理方法,来提高移动终端设备、服务器与智能硬件设备之间的数据传输速率。

基于上述应用场景,下面将对本发明实施例提供的数据管理方法做详细介绍。参见图2,本发明实施例提供的数据管理方法的流程示意图。结合图2可知,数据管理方法包括以下步骤:

步骤1:服务器接收智能硬件设备发送的数据包,并对数据包加外层参数,将加外层参数的数据包下发至移动终端设备的客户端app,客户端至少为一个。

当智能硬件设备将数据包发送至服务器后,服务器查询该智能硬件设备与客户端app的绑定关系,根据绑定关系判断将数据包发送给一个客户端app还是多个客户端app,根据对应关系,服务器添加相应的外层参数。举例来说,发送给一个客户端app的数据包称为单独数据,此时,对该数据包添加外层参数a;发送给多个客户端app的数据包称为广播数据,此时,对该数据包添加外层参数b。服务器将添加完外层参数的数据包下发至对应的客户端app,客户端中的总数据处理器会识别数据包的外层参数是a,还是b,通过a,b来判断该数据包是单独数据还是广播数据。

上述服务器采用json数据交换格式对数据包添加外层参数。json数据交换格式比较简单,易于读写和解析,格式都是压缩的,占用带宽小,易于维护。

步骤2:客户端中的总数据处理器将数据包拆分为多个数据集,其中,多个数据集外包括外层参数。

智能硬件设备会发送海量数据至服务器中,服务器将海量数据发送给客户端,客户端中的总数据处理器会将海量数据分割为多个数据集,客户端并行处理多个数据集,提高数据处理速度。

步骤3:判断客户端app是否前台运行。

若客户端app正在前台运行,则进行步骤4;若客户端app不在前台运行,如图2所示,则将多个数据集下发至客户端app的离线数据处理器,以使离线数据处理器处理数据集,并存储至本地数据库中。当客户端app处于后台运行时,此时就不需要考虑用户体验,也不用进行客户端界面的实时刷新,所以,可以采用处理速度更快的离线数据处理器,将处理完成的数据保存到本地数据库中,进一步提升了整体的数据处理速度。

为了优化上述技术方案,本地数据库优选为嵌入式sql数据库。嵌入式sql数据库在存储和检索大量数据方面非常有效,属于轻量级数据库,但是功能很强大。

另外,当客户端app重新跳转至前台运行时,则即刻将上述本地数据库中的数据同步至客户端app,保证了服务器与客户端app数据的同步性。

步骤4:若前台运行,则根据数据集外的外层参数判断是否仅向一个客户端app发送数据集。

客户端总数据处理器通过识别外层参数,区分数据包是单独数据还是广播数据,不同情况不同处理,进一步提高了本数据管理方法中数据的处理速度。

步骤5:若是,则将数据集分发至客户端app的单独数据处理器,以使单独数据处理器处理数据集,生成单独执行指令;

若不是,则将数据集分发至客户端app的广播数据处理器,以使广播数据处理器处理数据集,生成广播执行指令。

若数据包中是单独数据,则总数据处理器就将数据集下发至单独数据处理器;若数据包中是广播数据,则将数据集分发至广播数据处理器。

另外,本发明实施例提供的数据管理方法中,单独执行指令包括警报通知和/或即时通讯数据。

步骤6:客户端app的任务执行处理器接收单独执行指令和广播执行指令,并优先执行单独执行指令。

根据优先处理队列,分发至所述任务执行处理器的指令按照优先级降序排列,所述任务执行处理器优先执行所述优先处理队列队首的所述指令。

当任务执行处理器执行指令后,会生成相应的执行结果,并将该执行结果反馈给总数据处理器,总数据处理器控制客户端,将执行结果显示出来。

本发明中的数据管理方法,针对客户端app是否在前台运行,以及总数据处理器中的数据包是分发至一个客户端app,还是多个客户端app的不同情况,将智能硬件设备的数据包下发至不同的处理器。其中,当服务器向多个客户端app发送的数据发生高并发的时候,任务执行处理器会优先处理向一个客户端app发送的数据。本方法具有更强的数据并行处理能力,面对海量数据集,提高了处理速度,减少了用户的等待时间,提高了用户体验。

上述步骤的处理过程中,共调用了总数据处理器、单独数据处理器、广播数据处理器、离线数据处理器以及任务执行处理器,根据数据包不同的情况,将大量的数据分解,使其在单独的线程上并行处理。其中,总数据处理器的功能为负责客户端中的单独信号、广播信号、离线数据的处理和传输。将庞大的数据包自动分拆成无数个较小的数据集。总数据处理器通过集群应用、网格技术或分布式功能,使大量各种不同情况的数据通过单独数据处理器、广播数据处理器以及离线数据处理器集合起来协同工作。单独数据处理器是处理服务器向一个客户端app发送的实时数据,广播数据处理器是处理服务器向多个客户端app发送的实时数据,两者均是处理客户端app在前台运行时的数据,保持服务器和客户端同步性。离线数据处理器,处理的是客户端app不在前台运行时的数据。任务执行处理器则是负责执行单独数据处理器和广播数据处理器处理完数据之后生成的指令,对客户端app业务层进行信号警报、权限授权请求、紧急通知等功能。

由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。

以上所述的本申请实施方式并不构成对本申请保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1