掌桥专利:专业的专利平台
掌桥专利
首页

一种智能终端数据压缩防冗余交互方法、装置及相关组件

文献发布时间:2023-06-19 15:52:27



技术领域

本发明涉及数据处理领域,尤其涉及一种智能终端数据压缩防冗余交互方法、装置及相关组件。

背景技术

目前随着科技发展与数字时代的到来,通过利用考勤终端/消费终端等小型智能终端设备对员工基础信息进行存储,员工通过IC卡/CPU卡/NFC手持设备等与智能终端设备进行身份认证,从而实现门禁解锁等功能。

但智能终端设备存储的数据有有限的,在用户数量超过终端存储有效数量的场景中,例如在大型公司或工厂,面对几十万员工的员工信息,存在如无命中而造成刷卡无效现象,及数据不断回源查询,造成通讯拥堵,及本地低频无用数据冗余等现象。

发明内容

本发明的目的是提供一种智能终端数据压缩防冗余交互方法、装置及相关组件,旨在解决现有智能终端容易出现刷卡无效以及存储数据冗余的问题。

为解决上述技术问题,本发明的目的是通过以下技术方案实现的:提供一种智能终端数据压缩防冗余交互方法,其包括:

获取卡端的唯一码,通过加密算法对所述唯一码进行加密生成对应的字符串密钥,其中,所述字符串密钥包括:唯一表头规则值和表头标识;

将所述唯一表头规则值与本地的表头索引总库规则库进行校验;

若所述唯一表头规则值符合本地的表头索引总库规则库,则对所述表头标识进行压缩,得到压缩标记码;

将所述压缩标记码与本地数据库进行快速对比,若命中则抽取对应的本地数据,若未命中则根据所述表头标识向云端查询对应的数据,并接收云端返回的数据;

获取云端按照定时机制下发的更新数据并进行数据更新,其中,所述更新数据为云端将另一智能终端本地存储的目标数据所删除的数据。

另外,本发明要解决的技术问题是还在于提供一种智能终端数据压缩防冗余交互装置,其包括:

加密单元,用于获取卡端的唯一码,通过加密算法对所述唯一码进行加密生成对应的字符串密钥,其中,所述字符串密钥包括:唯一表头规则值和表头标识;

校验单元,用于将所述唯一表头规则值与本地的表头索引总库规则库进行校验;

压缩单元,用于若所述唯一表头规则值符合本地的表头索引总库规则库,则对所述表头标识进行压缩,得到压缩标记码;

查询单元,用于将所述压缩标记码与本地数据库进行快速对比,若命中则抽取对应的本地数据,若未命中则根据所述表头标识向云端查询对应的数据,并接收云端返回的数据;

更新单元,用于获取云端按照定时机制下发的更新数据,其中,所述更新数据为云端将另一智能终端本地存储的目标数据所删除的数据。

另外,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的智能终端数据压缩防冗余交互方法。

另外,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的智能终端数据压缩防冗余交互方法。

本发明实施例公开了一种智能终端数据压缩防冗余交互方法、装置及相关组件,其中,方法包括:获取卡端的唯一码,通过加密算法对所述唯一码进行加密生成对应的字符串密钥,其中,所述字符串密钥包括:唯一表头规则值和表头标识;将所述唯一表头规则值与本地的表头索引总库规则库进行校验;若所述唯一表头规则值符合本地的表头索引总库规则库,则对所述表头标识进行压缩,得到压缩标记码;将所述压缩标记码与本地数据库进行快速对比,若命中则抽取对应的本地数据,若未命中则根据所述表头标识向云端查询对应的数据,并接收云端返回的数据;获取云端按照定时机制下发的更新数据并进行数据更新,其中,所述更新数据为云端将另一智能终端本地存储的目标数据所删除的数据。该方法第一方面对卡端的唯一码进行算法加密,能够提高智能终端的安全性,减少被第三方利用的情况发生;第二方面通过压缩后的压缩标记码在本地数据库中进行比对,可以有效的提高比对效率,确保数据的正常读存取,保障数据的响应及时性;第三方面利用云端对各智能终端进行数据更新,优化各智能终端的本地数据库,避免出现数据冗除的情况。

附图说明

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

图1为本发明实施例提供的智能终端数据压缩防冗余交互方法的流程示意图;

图2为本发明实施例提供的智能终端数据压缩防冗余交互装置的示意性框图;

图3为本发明实施例提供的计算机设备的示意性框图。

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1,图1为本发明实施例提供的智能终端数据压缩防冗余交互方法的流程示意图;

如图1所示,该方法包括步骤S101~S105。

S101、获取卡端的唯一码,通过加密算法对所述唯一码进行加密生成对应的字符串密钥,其中,所述字符串密钥包括:唯一表头规则值和表头标识;

S102、将所述唯一表头规则值与本地的表头索引总库规则库进行校验;

S103、若所述唯一表头规则值符合本地的表头索引总库规则库,则对所述表头标识进行压缩,得到压缩标记码;

S104、将所述压缩标记码与本地数据库进行快速对比,若命中则抽取对应的本地数据,若未命中则根据所述表头标识向云端查询对应的数据,并接收云端返回的数据;

S105、获取云端按照定时机制下发的更新数据并进行数据更新,其中,所述更新数据为云端将另一智能终端本地存储的目标数据所删除的数据。

在本实施例中,卡端包括但不局限于IC卡/CPU卡/NFC手持设备。

具体使用场景下,用户将IC卡/CPU卡/NFC手持设备靠近智能终端以进行刷卡,智能终端首先会获取该卡端的唯一码,然后利用加密算法对该唯一码进行加密,生成与卡端对应的字符串密钥,然后基于预构建的本地的表头索引总库规则库,对该字符串密钥进行校验,若是校验失败,则说明该卡端为非系统授权卡,在智能终端的显示屏上显示“认证失败”等提示信息,而若是校验成功,则说明该卡端为系统授权卡,则先对表头标识进行压缩,得到压缩标记码,需要说明的是,本申请提供对表头标识进行压缩可以有效的减少表头标识中的字符串数量,从而提高检索效率;然后智能终端将压缩标记码和本地数据库进行快速比对,若是命中,则说明本地数据库中存储有该卡端的基础信息,可以直接从本地数据库调用该卡端的基础信息并在智能终端的显示屏显示,若是没有命中,则说明本地数据库没有该卡端的基础信息,所以需要从云端调取该卡端的基础信息,并在智能终端的显示屏显示。

同时,为了减少数据冗余的情况发生,预先建立定时机制,例如在“10:00~11:00”、“14:00~16:30”、“00:00~04:00”等非忙时用餐时间段,云端自动向智能终端下发更新数据,例如云端向A智能终端更新数据,同时也向B 智能终端更新数据,不同的是,是将需要存储的目标数据存储于A智能终端,而将原先存储于B智能终端的目标数据进行删除,从而保证目标数据只能存储在一个智能终端内,从而优化了B智能终端的本地数据,减少了B智能终端的冗除数据。

例如将原先与A智能终端绑定的C卡端重新设定为与B智能终端绑定,则云端会分别向A智能终端和B智能终端下发不同的数据更新请求,具体为向A 智能终端下发删除C卡端的基础信息的删除要求,则A智能终端基于该删除要求,删除原先存储于A智能终端的本地数据库中的基础信息,并更新自身的本地数据库,而云端会向B智能终端下发C卡端的基础信息,B智能终端接收该 C卡端的基础信息并进行存储以及更新自身的本地数据库,同时,云端会更新智能终端的数据版本信息。

本申请第一方面对卡端的唯一码进行算法加密,能够提高智能终端的安全性,减少被第三方利用的情况发生;本申请第二方面通过压缩后的压缩标记码在本地数据库中进行比对,可以有效的提高比对效率,确保数据的正常读存取,保障数据的响应及时性;本申请第三方面利用云端对各智能终端进行数据更新,优化各智能终端的本地数据库,避免出现数据冗除的情况。

具体一实施例中,所述字符串密钥还包括:智能终端的设备号和更新校验信息,所述更新校验信息包括用于记录更新信息的更新记录和用于校验智能终端本地模型的校验信息。

在本实施例中,本申请预先在云端或后台建立索引标签机制:“索引总表:设备编号库:非本地数据:本地数据:更新机制”。

其中,索引总表用于记录每一条数据,建立总索引表规则,符合 HMAC-SHA256算法加密Key规则,例如加密Key为1B2C3D:123456,即加密Key由加密规则+企业用户数据起始号范围(1-99999999)组成,需说明的是,每个企业或工厂的加密Key都是唯一的。

其中,设备编号库用于建立智能终端与“非本地数据:本地数据:更新机制”一一对应设备编号库,以快速匹配数据信息与数据的调用、记录等,具体的,设备编号库存储有n个卡端对应的唯一码。

其中,非本地数据主要用于存储本地非高频数据(冗余数据);

其中,本地数据主要用于储存本地高频数据;

其中,更新机制为按照“定时机制”对本地数据模型进行更新,用递增0.1 记录相关迭代版本号,如:A1.1:用于记录索引总表版本号,下一次版本号是 A1.2;B1.1:用于记录更新机制版本号,下一次版本号是B1.2。

另外,本申请在智能终端的本地数据库中预搭建数据压缩防冗余运算模型,数据压缩防冗余运算模型用于存储表头索引总库规则库表、本地表头库表数据和高频用户数据(Two Queues缓存中的L2队列),具体的,数据压缩防冗余运算模型为:“智能终端设备号:表头索引总库规则库表:本地表头库表数据:更新机制”,需要说明的是,本地表头库表数据即存储的用户基础数据。本申请通过数据压缩防冗余运算模型使得智能终端可以快速匹配数据信息,从而提高用户体验舒适性。

具体一实施例中,所述步骤S101,包括以下步骤:

S10、获取卡端的唯一码,基于HMAC-SHA256加密算法,利用目标钥匙对所述唯一码进行加密,生成字符串密钥。

在本实施例中,智能终端在获取卡端的唯一码后,将唯一码输入数据压缩防冗余运算模型,数据压缩防冗余运算模型基于HMAC-SHA256加密算法,利用目标钥匙对唯一码进行加密,生成32位的字符串密钥,例如卡端的唯一码为 HWD0000000010001:HWDABC000ABC0ABC,则加密处理后得到32为的字符串密钥如下:“789fdmfd k92jg819,3mf123m8,fjis,2340”,需要说明的是,“789fdmfd k92jg819”代表唯一表头规则值,“3mf123m8”代表表头标识,“fjis”代表智能终端设备号,“2340”代表更新校验信息,用于校验“fjis”智能终端的本地压缩模型是否是最新的版本。

需要说明的是,若是要将卡端与fjis智能终端解绑,只需要在后台更改唯一码,则新生成的唯一码加密后生成的32位的字符串密钥,会从“789fdmfd k92jg819,3mf123m8,fjis,2340”变成“789fdmfd k92jg819,3mf123m8,M, 2341”,代表卡端与M智能终端绑定在一起,此时云端根据定时机制向fjis智能终端发送删除卡端的基础信息的删除要求,并更新fjis智能终端的本地数据库,同时向M智能终端下发卡端的基础信息,M智能终端接收该卡端的基础信息并进行存储以及更新自身的本地数据。值得注意的是,本申请每次更新唯一码会对更新校验信息进行加1处理,即如上所示的“2340”变成“2341”,也就是说,云端会对每一次更新进行信息记录,以做好版本更新的管理。

在步骤S102中,通过判断唯一表头规则值“789fdmfd k92jg819”是否在本地的表头索引总库规则库允许的范围之内,若在运行的范围之内,则判定校验通过,反之则不通过。

具体一实施例中,所述步骤S103,包括以下步骤:

S20、遍历本地的表头索引总库规则库,判断本地的表头索引总库规则库是否存在与所述唯一表头规则值相同的目标规则值,若不存在则执行步骤S21,若存在则执行步骤S22;

S21、结束并输出校验结果;

S22、基于HMAC-SHA256加密算法,利用所述目标钥匙对所述表头标识进行加密,生成压缩标记码。

在本实施例中,数据压缩防冗余运算模型首先对32位字符串密钥与本地的表头索引总库规则库进行校验,具体校验如下:提取32位字符串密钥中的唯一表头规则值“789fdmfdk92jg818”,判断本地的表头索引总库规则库是否存在上述唯一表头规则值,若存在,则说明该卡端为系统授权卡,校验通过,并输出运算集合为{ture},若不存在,则说明该卡端为非系统授权卡,校验不通过,输出运算集合为{false},运算中止。

在校验通过的情况下,本申请再次基于HMAC-SHA256加密算法,利用所述目标钥匙对所述表头标识进行加密,生成压缩标记码,例如将表头标识“3mf123m8”通过加密,压缩成4位的压缩标记码“oaA1”,相对于8位字符的表头标识,4位的压缩标记码能够将检索效率提高一倍以上,另需要说明的是,压缩标记码优选由应用数字+大小写字母组成。

具体一实施例中,所述步骤S104,包括以下步骤:

S30、将所述压缩标记码与本地数据库进行范围匹配,若所述压缩标记码在匹配范围内,则执行步骤S31,若所述压缩标记码不在匹配范围内,则执行步骤 S32;

S31、读取所述卡端的表头,并基于所述卡端的表头,定位抽取对应的本地数据并输出;

S32、读取所述卡端的表头,并向云端发送查询信息,使所述云端基于所述查询信息中的所述卡端的表头检索云端数据库并返回对应的数据,使所述智能终端接收由所述云端返回的数据并输出。

在本实施例中,遍历智能终端的本地数据库,判断本地数据库是否存在“oaA1”,若存在“oaA1”,则说明本地数据库存在该卡端的基础信息,于是输出运算集合为{ture,oaA1,1},并读取卡端的表头例如0aa0,并输出运算集合为{ture,oaA1,1,0aa0},然后快速定位抽取本地数据库(Two Queues缓存) 的L2队列(LRU队列)中的第0aa0个数据,并将第0aa0个数据在智能终端的显示屏显示。

需要说明的是,本申请的查询信息包括卡端的表头+智能终端的设备号+版本号,云端快速定位到卡端的表头所对应的数据,并找到智能终端的设备号所在表,然后向智能终端下发相应的数据,同时云端同步更新版本号。

若不存在“oaA1”,则说明本地数据库不存在该卡端的基础信息,于是需要向云端请求数据,具体过程如下:智能终端获取卡端的表头,并向云端发送查询信息,云端接收到该查询信息后基于卡端的表头“0aa0”在在云端数据库进行检索,并将检索得到的数据返回至智能终端,智能终端接收到该数据后显示在显示屏上。

具体一实施例中,所述步骤S31,包括以下步骤:

S40、读取所述卡端的表头,并基于所述卡端的表头从本地缓存的L2队列中定位抽取对应的本地数据,并同步更新L2队列排序。

需要说明的是,本申请的数据压缩防冗余运算模型是基于Two Queues缓存算法搭建的,包括L1队列(FIFO队列)和L2队列(LRU队列),当数据第一次访问时,Two Queues缓存算法将该数据缓存在FIFO队列里面,如果数据在 FIFO队列中一直没有被再次访问,则最终按照FIFO规则淘汰;如果数据在FIFO 队列中被再次访问,则将数据移到LRU队列头部;如果数据在LRU队列再次被访问,则将数据移到LRU队列头部,而位于LRU队列尾部的数据将被淘汰,从而减少数据冗除的情况。

由于本地数据库存在卡端的表头“0aa0”,则说明该卡端的基础信息已经被存储在L2队列中,所以智能终端只需要在L2队列中找到第0aa0个数据即可。

具体一实施例中,所述步骤S32,包括以下步骤:

S50、读取所述卡端的表头,并根据所述卡端的表头向云端发送查询信息,使所述云端对所述卡端的表头进行解密,并在云端数据库中进行检索并返回对应的数据;

S51、所述智能终端接收由所述云端返回的数据并输出,并同时更新本地缓存的L1队列排序。

在本实施例中,由于本地数据库不存在卡端的表头“0aa0”,则说明本地数据库之前没有存储过该卡端的基础信息,输出运算集合为{ture,oaA1,0,0aa0},则智能终端需要向云端发送查询信息,云端基于该查询信息对卡端的表头“0aa0”进行解密,利用解密后的数据去检索云端数据库,将检索到的数据进行提取并发送至智能终端,智能终端接收到该数据后将该数据存入L1队列并在显示屏上显示,并更新L1队列。

本发明实施例还提供一种智能终端数据压缩防冗余交互装置,该智能终端数据压缩防冗余交互装置用于执行前述智能终端数据压缩防冗余交互方法的任一实施例。具体地,请参阅图2,图2是本发明实施例提供的智能终端数据压缩防冗余交互装置的示意性框图。

如图2所示,智能终端数据压缩防冗余交互装置500,包括:

加密单元501,用于获取卡端的唯一码,通过加密算法对所述唯一码进行加密生成对应的字符串密钥,其中,所述字符串密钥包括:唯一表头规则值和表头标识;

校验单元502,用于将所述唯一表头规则值与本地的表头索引总库规则库进行校验;

压缩单元503,用于若所述唯一表头规则值符合本地的表头索引总库规则库,则对所述表头标识进行压缩,得到压缩标记码;

查询单元504,用于将所述压缩标记码与本地数据库进行快速对比,若命中则抽取对应的本地数据,若未命中则根据所述表头标识向云端查询对应的数据,并接收云端返回的数据;

更新单元505,用于获取云端按照定时机制下发的更新数据,其中,所述更新数据为云端将另一智能终端本地存储的目标数据所删除的数据。

该装置第一方面对卡端的唯一码进行算法加密,能够提高智能终端的安全性,减少被第三方利用的情况发生;本申请第二方面通过压缩后的压缩标记码在本地数据库中进行比对,可以有效的提高比对效率,确保数据的正常读存取,保障数据的响应及时性;本申请第三方面利用云端对各智能终端进行数据更新,优化各智能终端的本地数据库,避免出现数据冗除的情况。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

上述智能终端数据压缩防冗余交互装置可以实现为计算机程序的形式,该计算机程序可以在如图3所示的计算机设备上运行。

请参阅图3,图3是本发明实施例提供的计算机设备的示意性框图。该计算机设备1100是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。

参阅图3,该计算机设备1100包括通过系统总线1101连接的处理器1102、存储器和网络接口1105,其中,存储器可以包括非易失性存储介质1103和内存储器1104。

该非易失性存储介质1103可存储操作系统11031和计算机程序11032。该计算机程序11032被执行时,可使得处理器1102执行智能终端数据压缩防冗余交互方法。

该处理器1102用于提供计算和控制能力,支撑整个计算机设备1100的运行。

该内存储器1104为非易失性存储介质1103中的计算机程序11032的运行提供环境,该计算机程序11032被处理器1102执行时,可使得处理器1102执行智能终端数据压缩防冗余交互方法。

该网络接口1105用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备1100的限定,具体的计算机设备1100可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

本领域技术人员可以理解,图3中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图3所示实施例一致,在此不再赘述。

应当理解,在本发明实施例中,处理器1102可以是中央处理单元(CentralProcessing Unit,CPU),该处理器1102还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例的智能终端数据压缩防冗余交互方法。

所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术分类

06120114612125