基于Hadoop平台的海量存取件记录处理方法及装置转让专利

申请号 : CN202010949054.8

文献号 : CN111797069B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王彪杨博张友平邵杰

申请人 : 江苏云柜网络技术有限公司

摘要 :

本发明实施例所提供的基于Hadoop平台的海量存取件记录处理方法及装置,首先,获取存取件数据并在对存取件数据进行存储时实时检测预设的Hadoop集群中的HDFS的占用率是否达到设定占用率,若是,则计算存取件数据对应的当前数据量。其次,在判断出当前数据量大于设定数据量时对每个第一目标HDFS中存储的目标存取件数据进行识别得到目标存取件数据对应的查询记录。最后,根据查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除并保留至少部分目标存储件数据对应的关键数据,以释放每个第一目标HDFS的存储空间。如此,能够将Hadoop集群中的冗余数据进行剔除从而释放存储空间以动态地实现对存取件数据的存储,从而提高对存取件数据的存储效率。

权利要求 :

1.一种基于Hadoop平台的海量存取件记录处理方法,其特征在于,应用于计算机设备,所述计算机设备与数据源端通信连接,所述计算机设备还与客户端通信连接,所述方法包括:获取所述数据源端通过设定传输协议上传的存取件数据;其中,所述数据源端包括关系型数据库和应用程序,所述存取件数据包括所述关系型数据库上传的第一存取件数据以及所述应用程序上传的第二存取件数据;

在对所述存取件数据进行存储时,实时检测预设的Hadoop集群中的HDFS的占用率是否达到设定占用率;

若所述占用率达到所述设定占用率,计算所述存取件数据对应的当前数据量;其中,所述当前数据量用于表征将所述存取件数据存储到所述HDFS中所需要的存储空间的大小;

判断所述当前数据量是否大于设定数据量;

在所述当前数据量大于所述设定数据量时,对每个第一目标HDFS中存储的目标存取件数据进行识别,得到所述目标存取件数据对应的查询记录;其中,所述第一目标HDFS为存储空间处于饱和状态的HDFS;

根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除,并保留所述至少部分目标存储件数据对应的关键数据,以释放每个第一目标HDFS的存储空间;

其中,对每个第一目标HDFS中存储的目标存取件数据进行识别,得到所述目标存取件数据对应的查询记录,包括:获取目标存取件数据的存取件路径分布以及各存取件订单;

在根据所述存取件路径分布确定出所述目标存取件数据中包含有查询调用标签的情况下,根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻确定所述目标存取件数据在样本调用标签下的各存取件订单与所述目标存取件数据在所述查询调用标签下的各存取件订单之间的订单相关性系数,并将所述目标存取件数据在所述样本调用标签下的与在所述查询调用标签下的存取件订单之间的订单相关性系数高于设定系数的存取件订单划分到所述查询调用标签下;

在所述目标存取件数据对应的样本调用标签下包含有多个存取件订单的情况下,根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻确定所述目标存取件数据在所述样本调用标签下的各存取件订单之间的订单相关性系数,并根据所述各存取件订单之间的订单相关性系数对所述样本调用标签下的各存取件订单进行筛选;

根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻为上述筛选获得的目标存取件订单设置查询更新优先级,并根据所述查询更新优先级将至少部分目标存取件订单划分到所述查询调用标签下;

根据所述查询调用标签下的存取件订单生成所述目标存取件数据对应的查询记录。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

在对每个第一目标HDFS的存储空间进行释放之后,计算已释放的所有存储空间对应的目标数据量;

判断所述目标数据量是否达到所述当前数据量;

若所述目标数据量未达到所述当前数据量时,对所述Hadoop集群进行扩容以增加至少一个第二目标HDFS。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

在增加所述第二目标HDFS时,确定所述Hadoop集群的集群响应曲线;

提取所述集群响应曲线的实时曲线特征,并根据所述实时曲线特征判断所述Hadoop集群是否处于过载状态;

在所述Hadoop集群处于所述过载状态时返回根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除的步骤。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

在返回根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除的步骤之前,修改预设的配置参数以调整用于进行冗余数据剔除的识别模型。

5.根据权利要求1所述的方法,其特征在于,根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除,并保留所述至少部分目标存储件数据对应的关键数据,包括:根据所述查询记录的查询时段分布信息及存取件订单的订单用户行为数据,解析每个第一目标HDFS中的目标存取件数据的数据字段集,以获取所述每个第一目标HDFS中的目标存取件数据的数据字段集中包括的字段特征中的特征指向数据;

通过跳过所述特征指向数据中相对于具备可调整权重的存取行为数据具有存取行为跟随性的第一特征指向数据,提取所述每个第一目标HDFS中的目标存取件数据的数据字段集中字段编码不随所述具有存取行为跟随性的第一特征指向数据的变化而更新的第二特征指向数据;

从所述第二特征指向数据对应的目标字段特征中确定出与设定特征标识相似的目标特征标识所对应的待处理字段特征,并将所述待处理字段特征对应在所述数据字段集中对应的第一数据字段确定为冗余数据并进行剔除,然后将所述数据字段集中所保留的第二数据字段确定为所述关键数据。

6.根据权利要求5所述的方法,其特征在于,从所述第二特征指向数据对应的目标字段特征中确定出与设定特征标识相似的目标特征标识所对应的待处理字段特征,包括:计算所述第二特征指向数据对应的每个目标字段特征的当前特征标识的标识字符串与所述设定特征标识的标识字符串之间的余弦距离;

若所述余弦距离位于设定区间内,则确定所述目标字段特征的当前特征标识为目标特征标识并确定该目标字段特征为所述待处理字段特征。

7.一种基于Hadoop平台的海量存取件记录处理装置,其特征在于,应用于计算机设备,所述计算机设备与数据源端通信连接,所述计算机设备还与客户端通信连接,所述装置包括:数据获取模块,用于获取所述数据源端通过设定传输协议上传的存取件数据;其中,所述数据源端包括关系型数据库和应用程序,所述存取件数据包括所述关系型数据库上传的第一存取件数据以及所述应用程序上传的第二存取件数据;

实时检测模块,用于在对所述存取件数据进行存储时,实时检测预设的Hadoop集群中的HDFS的占用率是否达到设定占用率;

若所述占用率达到所述设定占用率,计算所述存取件数据对应的当前数据量;其中,所述当前数据量用于表征将所述存取件数据存储到所述HDFS中所需要的存储空间的大小;

数据判断模块,用于判断所述当前数据量是否大于设定数据量;

在所述当前数据量大于所述设定数据量时,对每个第一目标HDFS中存储的目标存取件数据进行识别,得到所述目标存取件数据对应的查询记录;其中,所述第一目标HDFS为存储空间处于饱和状态的HDFS;

空间释放模块,用于根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除,并保留所述至少部分目标存储件数据对应的关键数据,以释放每个第一目标HDFS的存储空间;

其中,所述数据判断模块,具体用于:

获取目标存取件数据的存取件路径分布以及各存取件订单;

在根据所述存取件路径分布确定出所述目标存取件数据中包含有查询调用标签的情况下,根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻确定所述目标存取件数据在样本调用标签下的各存取件订单与所述目标存取件数据在所述查询调用标签下的各存取件订单之间的订单相关性系数,并将所述目标存取件数据在所述样本调用标签下的与在所述查询调用标签下的存取件订单之间的订单相关性系数高于设定系数的存取件订单划分到所述查询调用标签下;

在所述目标存取件数据对应的样本调用标签下包含有多个存取件订单的情况下,根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻确定所述目标存取件数据在所述样本调用标签下的各存取件订单之间的订单相关性系数,并根据所述各存取件订单之间的订单相关性系数对所述样本调用标签下的各存取件订单进行筛选;

根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻为上述筛选获得的目标存取件订单设置查询更新优先级,并根据所述查询更新优先级将至少部分目标存取件订单划分到所述查询调用标签下;

根据所述查询调用标签下的存取件订单生成所述目标存取件数据对应的查询记录。

8.根据权利要求7所述的装置,其特征在于,所述空间释放模块,具体用于:

根据所述查询记录的查询时段分布信息及存取件订单的订单用户行为数据,解析每个第一目标HDFS中的目标存取件数据的数据字段集,以获取所述每个第一目标HDFS中的目标存取件数据的数据字段集中包括的字段特征中的特征指向数据;

通过跳过所述特征指向数据中相对于具备可调整权重的存取行为数据具有存取行为跟随性的第一特征指向数据,提取所述每个第一目标HDFS中的目标存取件数据的数据字段集中字段编码不随所述具有存取行为跟随性的第一特征指向数据的变化而更新的第二特征指向数据;

从所述第二特征指向数据对应的目标字段特征中确定出与设定特征标识相似的目标特征标识所对应的待处理字段特征,并将所述待处理字段特征对应在所述数据字段集中对应的第一数据字段确定为冗余数据并进行剔除,然后将所述数据字段集中所保留的第二数据字段确定为所述关键数据。

说明书 :

基于Hadoop平台的海量存取件记录处理方法及装置

技术领域

[0001] 本发明涉及智能快递柜的数据处理技术领域,具体而言,涉及一种基于Hadoop平台的海量存取件记录处理方法及装置。

背景技术

[0002] 随着快递业务的飞速发展,智能快递柜是随着快递业务不断发展新生的事物。智能快递柜的功能主要是协助快递员收寄快递,面对的用户是广大的快递员和收件人。作为24小时无人值守的快递暂存柜,通过物联卡与服务端交互,作为物联网技术在现代物流行业中的应用,智能快递柜是电子商务末端物流最后一公里最有效的解决方法,提高了快递员的派送效率,降低了派送成本,保障了用户的隐私和安全,逐步得到广泛认可和推广。
[0003] 智能快递柜系统作为快递终端的服务端,提供了快递员存件、用户取件等服务,每天产生的数据量及其巨大,需要快速、及时存储查询历史存件信息用于后期数据分析和查询等。
[0004] 然而现有的对智能快递柜的存取件数据进行存储的技术存在效率低下的技术问题。

发明内容

[0005] 为了改善上述问题,本发明提供了一种基于Hadoop平台的海量存取件记录处理方法及装置。
[0006] 基于本发明实施例的第一方面,提供一种基于Hadoop平台的海量存取件记录处理方法,应用于计算机设备,所述计算机设备与数据源端通信连接,所述计算机设备还与客户端通信连接,所述方法包括:
[0007] 获取所述数据源端通过设定传输协议上传的存取件数据;其中,所述数据源端包括关系型数据库和应用程序,所述存取件数据包括所述关系型数据库上传的第一存取件数据以及所述应用程序上传的第二存取件数据;
[0008] 在对所述存取件数据进行存储时,实时检测预设的Hadoop集群中的HDFS的占用率是否达到设定占用率;
[0009] 若所述占用率达到所述设定占用率,计算所述存取件数据对应的当前数据量;其中,所述当前数据量用于表征将所述存取件数据存储到所述HDFS中所需要的存储空间的大小;
[0010] 判断所述当前数据量是否大于设定数据量;
[0011] 在所述当前数据量大于所述设定数据量时,对每个第一目标HDFS中存储的目标存取件数据进行识别,得到所述目标存取件数据对应的查询记录;其中,所述第一目标HDFS为存储空间处于饱和状态的HDFS;
[0012] 根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除,并保留所述至少部分目标存储件数据对应的关键数据,以释放每个第一目标HDFS的存储空间。
[0013] 可选地,所述方法还包括:
[0014] 在对每个第一目标HDFS的存储空间进行释放之后,计算已释放的所有存储空间对应的目标数据量;
[0015] 判断所述目标数据量是否达到所述当前数据量;
[0016] 若所述目标数据量未达到所述当前数据量时,对所述Hadoop集群进行扩容以增加至少一个第二目标HDFS。
[0017] 可选地,所述方法还包括:
[0018] 在增加所述第二目标HDFS时,确定所述Hadoop集群的集群响应曲线;
[0019] 提取所述集群响应曲线的实时曲线特征,并根据所述实时曲线特征判断所述Hadoop集群是否处于过载状态;
[0020] 在所述Hadoop集群处于所述过载状态时返回根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除的步骤。
[0021] 可选地,所述方法还包括:
[0022] 在返回根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除的步骤之前,修改预设的配置参数以调整用于进行冗余数据剔除的识别模型。
[0023] 可选地,对每个第一目标HDFS中存储的目标存取件数据进行识别,得到所述目标存取件数据对应的查询记录,包括:
[0024] 获取目标存取件数据的存取件路径分布以及各存取件订单;
[0025] 在根据所述存取件路径分布确定出所述目标存取件数据中包含有查询调用标签的情况下,根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻确定所述目标存取件数据在样本调用标签下的各存取件订单与所述目标存取件数据在所述查询调用标签下的各存取件订单之间的订单相关性系数,并将所述目标存取件数据在所述样本调用标签下的与在所述查询调用标签下的存取件订单之间的订单相关性系数高于设定系数的存取件订单划分到所述查询调用标签下;
[0026] 在所述目标存取件数据对应的样本调用标签下包含有多个存取件订单的情况下,根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻确定所述目标存取件数据在所述样本调用标签下的各存取件订单之间的订单相关性系数,并根据所述各存取件订单之间的订单相关性系数对所述样本调用标签下的各存取件订单进行筛选;
[0027] 根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻为上述筛选获得的目标存取件订单设置查询更新优先级,并根据所述查询更新优先级将至少部分目标存取件订单划分到所述查询调用标签下;
[0028] 根据所述查询调用标签下的存取件订单生成所述目标存取件数据对应的查询记录。
[0029] 可选地,根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除,并保留所述至少部分目标存储件数据对应的关键数据,包括:
[0030] 根据所述查询记录的查询时段分布信息及存取件订单的订单用户行为数据,解析每个第一目标HDFS中的目标存取件数据的数据字段集,以获取所述每个第一目标HDFS中的目标存取件数据的数据字段集中包括的字段特征中的特征指向数据;
[0031] 通过跳过所述特征指向数据中相对于具备可调整权重的存取行为数据具有存取行为跟随性的第一特征指向数据,提取所述每个第一目标HDFS中的目标存取件数据的数据字段集中字段编码不随所述具有存取行为跟随性的第一特征指向数据的变化而更新的第二特征指向数据;
[0032] 从所述第二特征指向数据对应的目标字段特征中确定出与设定特征标识相似的目标特征标识所对应的待处理字段特征,并将所述待处理字段特征对应在所述数据字段集中对应的第一数据字段确定为冗余数据并进行剔除,然后将所述数据字段集中所保留的第二数据字段确定为所述关键数据。
[0033] 可选地,从所述第二特征指向数据对应的目标字段特征中确定出与设定特征标识相似的目标特征标识所对应的待处理字段特征,包括:
[0034] 计算所述第二特征指向数据对应的每个目标字段特征的当前特征标识的标识字符串与所述设定特征标识的标识字符串之间的余弦距离;
[0035] 若所述余弦距离位于设定区间内,则确定所述目标字段特征的当前特征标识为目标特征标识并确定该目标字段特征为所述待处理字段特征。
[0036] 基于本发明实施例的第二方面,一种基于Hadoop平台的海量存取件记录处理装置,应用于计算机设备,所述计算机设备与数据源端通信连接,所述计算机设备还与客户端通信连接,所述装置包括:
[0037] 数据获取模块,用于获取所述数据源端通过设定传输协议上传的存取件数据;其中,所述数据源端包括关系型数据库和应用程序,所述存取件数据包括所述关系型数据库上传的第一存取件数据以及所述应用程序上传的第二存取件数据;
[0038] 实时检测模块,用于在对所述存取件数据进行存储时,实时检测预设的Hadoop集群中的HDFS的占用率是否达到设定占用率;
[0039] 若所述占用率达到所述设定占用率,计算所述存取件数据对应的当前数据量;其中,所述当前数据量用于表征将所述存取件数据存储到所述HDFS中所需要的存储空间的大小;
[0040] 数据判断模块,用于判断所述当前数据量是否大于设定数据量;
[0041] 在所述当前数据量大于所述设定数据量时,对每个第一目标HDFS中存储的目标存取件数据进行识别,得到所述目标存取件数据对应的查询记录;其中,所述第一目标HDFS为存储空间处于饱和状态的HDFS;
[0042] 空间释放模块,用于根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除,并保留所述至少部分目标存储件数据对应的关键数据,以释放每个第一目标HDFS的存储空间。
[0043] 可选地,所述数据判断模块,具体用于:
[0044] 获取目标存取件数据的存取件路径分布以及各存取件订单;
[0045] 在根据所述存取件路径分布确定出所述目标存取件数据中包含有查询调用标签的情况下,根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻确定所述目标存取件数据在样本调用标签下的各存取件订单与所述目标存取件数据在所述查询调用标签下的各存取件订单之间的订单相关性系数,并将所述目标存取件数据在所述样本调用标签下的与在所述查询调用标签下的存取件订单之间的订单相关性系数高于设定系数的存取件订单划分到所述查询调用标签下;
[0046] 在所述目标存取件数据对应的样本调用标签下包含有多个存取件订单的情况下,根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻确定所述目标存取件数据在所述样本调用标签下的各存取件订单之间的订单相关性系数,并根据所述各存取件订单之间的订单相关性系数对所述样本调用标签下的各存取件订单进行筛选;
[0047] 根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻为上述筛选获得的目标存取件订单设置查询更新优先级,并根据所述查询更新优先级将至少部分目标存取件订单划分到所述查询调用标签下;
[0048] 根据所述查询调用标签下的存取件订单生成所述目标存取件数据对应的查询记录。
[0049] 可选地,所述空间释放模块,具体用于:
[0050] 根据所述查询记录的查询时段分布信息及存取件订单的订单用户行为数据,解析每个第一目标HDFS中的目标存取件数据的数据字段集,以获取所述每个第一目标HDFS中的目标存取件数据的数据字段集中包括的字段特征中的特征指向数据;
[0051] 通过跳过所述特征指向数据中相对于具备可调整权重的存取行为数据具有存取行为跟随性的第一特征指向数据,提取所述每个第一目标HDFS中的目标存取件数据的数据字段集中字段编码不随所述具有存取行为跟随性的第一特征指向数据的变化而更新的第二特征指向数据;
[0052] 从所述第二特征指向数据对应的目标字段特征中确定出与设定特征标识相似的目标特征标识所对应的待处理字段特征,并将所述待处理字段特征对应在所述数据字段集中对应的第一数据字段确定为冗余数据并进行剔除,然后将所述数据字段集中所保留的第二数据字段确定为所述关键数据。
[0053] 本发明实施例所提供的基于Hadoop平台的海量存取件记录处理方法及装置,首先,获取存取件数据并在对存取件数据进行存储时实时检测预设的Hadoop集群中的HDFS的占用率是否达到设定占用率,若是,则计算存取件数据对应的当前数据量。其次,在判断出当前数据量大于设定数据量时对每个第一目标HDFS中存储的目标存取件数据进行识别得到目标存取件数据对应的查询记录。最后,根据查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除并保留至少部分目标存储件数据对应的关键数据,以释放每个第一目标HDFS的存储空间。如此以来,能够将Hadoop集群中的冗余数据进行剔除从而释放存储空间以动态地实现对存取件数据的存储,从而提高对存取件数据的存储效率。

附图说明

[0054] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0055] 图1为本发明实施例所提供的一种基于Hadoop平台的海量存取件记录处理方法的流程图。
[0056] 图2为本发明实施例所提供的一种基于Hadoop平台的海量存取件记录处理装置的功能模块框图。
[0057] 图3为本发明实施例所提供的一种计算机设备的硬件结构示意图。

具体实施方式

[0058] 为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
[0059] 请首先参阅图1,示出了基于Hadoop平台的海量存取件记录处理方法的流程示意图,所述方法可以应用于计算机设备,所述计算机设备与数据源端通信连接,所述计算机设备还与客户端通信连接,进一步地,所述方法可以包括以下步骤110-步骤S160所描述的内容。
[0060] 步骤S110,获取数据源端通过设定传输协议上传的存取件数据。
[0061] 在本实施例中,步骤S110所提到的所述设定传输协议可以是数据包传输层安全性协议(Datagram Transport Layer Security,DTLS),所述数据源端包括关系型数据库和应用程序,所述存取件数据包括所述关系型数据库上传的第一存取件数据以及所述应用程序上传的第二存取件数据。
[0062] 步骤S120,在对所述存取件数据进行存储时,实时检测预设的Hadoop集群中的HDFS的占用率是否达到设定占用率。
[0063] 在本实施例中,步骤S120所描述的所述Hadoop集群中包括多个分布式文件系统(Hadoop Distributed File System,HDFS),设定占用率可以根据实际情况进行修改,在此不作限定。
[0064] 步骤S130,若所述占用率达到所述设定占用率,计算所述存取件数据对应的当前数据量。
[0065] 在本实施例中,所述当前数据量用于表征将所述存取件数据存储到所述HDFS中所需要的存储空间的大小。
[0066] 步骤S140,判断所述当前数据量是否大于设定数据量。
[0067] 步骤S150,在所述当前数据量大于所述设定数据量时,对每个第一目标HDFS中存储的目标存取件数据进行识别,得到所述目标存取件数据对应的查询记录。
[0068] 在本实施例中,所述第一目标HDFS为存储空间处于饱和状态的HDFS。
[0069] 步骤S160,根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除,并保留所述至少部分目标存储件数据对应的关键数据,以释放每个第一目标HDFS的存储空间。
[0070] 可以理解,基于上述步骤S110-步骤S160所描述的内容,首先,获取存取件数据并在对存取件数据进行存储时实时检测预设的Hadoop集群中的HDFS的占用率是否达到设定占用率,若是,则计算存取件数据对应的当前数据量。其次,在判断出当前数据量大于设定数据量时对每个第一目标HDFS中存储的目标存取件数据进行识别得到目标存取件数据对应的查询记录。最后,根据查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除并保留至少部分目标存储件数据对应的关键数据,以释放每个第一目标HDFS的存储空间。如此,能够将Hadoop集群中的冗余数据进行剔除从而释放存储空间以动态地实现对存取件数据的存储,从而提高对存取件数据的存储效率。
[0071] 在一种可以实现的实施方式中,为了进一步提高存储效率,可以对Hadoop集群进行动态扩展,具体如下:在对每个第一目标HDFS的存储空间进行释放之后,计算已释放的所有存储空间对应的目标数据量;判断所述目标数据量是否达到所述当前数据量;若所述目标数据量未达到所述当前数据量时,对所述Hadoop集群进行扩容以增加至少一个第二目标HDFS。
[0072] 进一步地,在增加所述第二目标HDFS时,确定所述Hadoop集群的集群响应曲线;提取所述集群响应曲线的实时曲线特征,并根据所述实时曲线特征判断所述Hadoop集群是否处于过载状态;在所述Hadoop集群处于所述过载状态时返回根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除的步骤。可以理解,在返回根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除的步骤之前,修改预设的配置参数以调整用于进行冗余数据剔除的识别模型。这样,能够对冗余数据进行进一步剔除,从而提高Hadoop集群的存储效率。
[0073] 在一个具体的实施方式中,为了准确、完整地得到查询记录,步骤S150所描述的对每个第一目标HDFS中存储的目标存取件数据进行识别,得到所述目标存取件数据对应的查询记录,具体可以包括以下步骤S151-步骤S155所描述的内容。
[0074] 步骤S151,获取目标存取件数据的存取件路径分布以及各存取件订单。
[0075] 步骤S152,在根据所述存取件路径分布确定出所述目标存取件数据中包含有查询调用标签的情况下,根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻确定所述目标存取件数据在样本调用标签下的各存取件订单与所述目标存取件数据在所述查询调用标签下的各存取件订单之间的订单相关性系数,并将所述目标存取件数据在所述样本调用标签下的与在所述查询调用标签下的存取件订单之间的订单相关性系数高于设定系数的存取件订单划分到所述查询调用标签下。
[0076] 步骤S153,在所述目标存取件数据对应的样本调用标签下包含有多个存取件订单的情况下,根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻确定所述目标存取件数据在所述样本调用标签下的各存取件订单之间的订单相关性系数,并根据所述各存取件订单之间的订单相关性系数对所述样本调用标签下的各存取件订单进行筛选。
[0077] 步骤S154,根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻为上述筛选获得的目标存取件订单设置查询更新优先级,并根据所述查询更新优先级将至少部分目标存取件订单划分到所述查询调用标签下。
[0078] 步骤S155,根据所述查询调用标签下的存取件订单生成所述目标存取件数据对应的查询记录。
[0079] 通过应用上述步骤S151-步骤S155所描述的内容,能够准确、完整地得到查询记录。
[0080] 在一个可以替换的实施方式中,为了准确地对冗余数据进行剔除,步骤S160所描述的根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除,并保留所述至少部分目标存储件数据对应的关键数据,进一步可以包括以下步骤S161-步骤S163所描述的内容。
[0081] 步骤S161,根据所述查询记录的查询时段分布信息及存取件订单的订单用户行为数据,解析每个第一目标HDFS中的目标存取件数据的数据字段集,以获取所述每个第一目标HDFS中的目标存取件数据的数据字段集中包括的字段特征中的特征指向数据。
[0082] 步骤S162,通过跳过所述特征指向数据中相对于具备可调整权重的存取行为数据具有存取行为跟随性的第一特征指向数据,提取所述每个第一目标HDFS中的目标存取件数据的数据字段集中字段编码不随所述具有存取行为跟随性的第一特征指向数据的变化而更新的第二特征指向数据。
[0083] 步骤S163,从所述第二特征指向数据对应的目标字段特征中确定出与设定特征标识相似的目标特征标识所对应的待处理字段特征,并将所述待处理字段特征对应在所述数据字段集中对应的第一数据字段确定为冗余数据并进行剔除,然后将所述数据字段集中所保留的第二数据字段确定为所述关键数据。
[0084] 如此,能够基于上述步骤S161-步骤S163准确地对冗余数据进行剔除。
[0085] 进一步地,在步骤S163中,从所述第二特征指向数据对应的目标字段特征中确定出与设定特征标识相似的目标特征标识所对应的待处理字段特征具体包括:计算所述第二特征指向数据对应的每个目标字段特征的当前特征标识的标识字符串与所述设定特征标识的标识字符串之间的余弦距离;若所述余弦距离位于设定区间内,则确定所述目标字段特征的当前特征标识为目标特征标识并确定该目标字段特征为所述待处理字段特征。
[0086] 基于上述同样的发明构思,请结合参阅图2,提供了基于Hadoop平台的海量存取件记录处理装置200,应用于计算机设备,所述计算机设备与数据源端通信连接,所述计算机设备还与客户端通信连接,所述装置包括:
[0087] 数据获取模块210,用于获取所述数据源端通过设定传输协议上传的存取件数据;其中,所述数据源端包括关系型数据库和应用程序,所述存取件数据包括所述关系型数据库上传的第一存取件数据以及所述应用程序上传的第二存取件数据;
[0088] 实时检测模块220,用于在对所述存取件数据进行存储时,实时检测预设的Hadoop集群中的HDFS的占用率是否达到设定占用率;
[0089] 若所述占用率达到所述设定占用率,计算所述存取件数据对应的当前数据量;其中,所述当前数据量用于表征将所述存取件数据存储到所述HDFS中所需要的存储空间的大小;
[0090] 数据判断模块230,用于判断所述当前数据量是否大于设定数据量;
[0091] 在所述当前数据量大于所述设定数据量时,对每个第一目标HDFS中存储的目标存取件数据进行识别,得到所述目标存取件数据对应的查询记录;其中,所述第一目标HDFS为存储空间处于饱和状态的HDFS;
[0092] 空间释放模块240,用于根据所述查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除,并保留所述至少部分目标存储件数据对应的关键数据,以释放每个第一目标HDFS的存储空间。
[0093] 可选地,所述数据判断模块230,具体用于:
[0094] 获取目标存取件数据的存取件路径分布以及各存取件订单;
[0095] 在根据所述存取件路径分布确定出所述目标存取件数据中包含有查询调用标签的情况下,根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻确定所述目标存取件数据在样本调用标签下的各存取件订单与所述目标存取件数据在所述查询调用标签下的各存取件订单之间的订单相关性系数,并将所述目标存取件数据在所述样本调用标签下的与在所述查询调用标签下的存取件订单之间的订单相关性系数高于设定系数的存取件订单划分到所述查询调用标签下;
[0096] 在所述目标存取件数据对应的样本调用标签下包含有多个存取件订单的情况下,根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻确定所述目标存取件数据在所述样本调用标签下的各存取件订单之间的订单相关性系数,并根据所述各存取件订单之间的订单相关性系数对所述样本调用标签下的各存取件订单进行筛选;
[0097] 根据所述目标存取件数据在所述查询调用标签下的存取件订单以及所述目标存取件数据在所述查询调用标签下的存取件订单的订单生成时刻为上述筛选获得的目标存取件订单设置查询更新优先级,并根据所述查询更新优先级将至少部分目标存取件订单划分到所述查询调用标签下;
[0098] 根据所述查询调用标签下的存取件订单生成所述目标存取件数据对应的查询记录。
[0099] 可选地,所述空间释放模块240,具体用于:
[0100] 根据所述查询记录的查询时段分布信息及存取件订单的订单用户行为数据,解析每个第一目标HDFS中的目标存取件数据的数据字段集,以获取所述每个第一目标HDFS中的目标存取件数据的数据字段集中包括的字段特征中的特征指向数据;
[0101] 通过跳过所述特征指向数据中相对于具备可调整权重的存取行为数据具有存取行为跟随性的第一特征指向数据,提取所述每个第一目标HDFS中的目标存取件数据的数据字段集中字段编码不随所述具有存取行为跟随性的第一特征指向数据的变化而更新的第二特征指向数据;
[0102] 从所述第二特征指向数据对应的目标字段特征中确定出与设定特征标识相似的目标特征标识所对应的待处理字段特征,并将所述待处理字段特征对应在所述数据字段集中对应的第一数据字段确定为冗余数据并进行剔除,然后将所述数据字段集中所保留的第二数据字段确定为所述关键数据。
[0103] 在上述基础上,请结合参阅图3,提供了一种计算机设备300的硬件结构示意图,所述计算机设备300包括互相之间通信的处理器310和存储器320,所述处理器310通过从所述存储器320中调取计算机程序,并运行所述计算机程序实现如图1所示的方法。
[0104] 综上,上述技术方案首先获取存取件数据并在对存取件数据进行存储时实时检测预设的Hadoop集群中的HDFS的占用率是否达到设定占用率,若是,则计算存取件数据对应的当前数据量。其次在判断出当前数据量大于设定数据量时对每个第一目标HDFS中存储的目标存取件数据进行识别得到目标存取件数据对应的查询记录。最后根据查询记录对每个第一目标HDFS存储的至少部分目标存储件数据进行冗余数据剔除并保留至少部分目标存储件数据对应的关键数据,以释放每个第一目标HDFS的存储空间。如此,能够将Hadoop集群中的冗余数据进行剔除从而释放存储空间以动态地实现对存取件数据的存储,从而提高对存取件数据的存储效率。
[0105] 以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。