发明内容
本申请的主要目的为提供一种签名数据的处理方法、装置、计算机设备和存储介质,旨在解决现有当出现大批量的待验证的签名数据时,实时的验证处理会为服务器带来很大的验证服务压力,从而导致系统负荷过大、处理成本大幅增加以及系统响应时间过慢,甚至导致系统宕机的技术问题。
本申请提出一种签名数据的处理方法,应用于服务器,所述方法包括步骤:
获取待验证的签名数据,以及获取当前时间;
判断当前时间是否处于预设的业务高峰时间段内;
若当前时间处于所述业务高峰时间段内,从所有所述签名数据中提取出第一预设数量的指定签名数据,并基于各所述指定签名数据的签名键值生成一一对应的随机数;
从所有所述随机数中筛选出满足预设条件的指定随机数;
获取预设的验证桶,以及获取所述验证桶的容量值;
判断所述指定随机数的数量是否为所述容量值的倍数,且所述指定随机数的数量是否大于所述容量值;
若所述指定随机数的数量为所述容量值的倍数,且所述指定随机数的数量大于所述容量值,则获取与所述指定随机数对应的指定签名数据,并将所述指定随机数对应的指定签名数据记为第一签名数据;
按照预设的数据投放速率向所述验证桶投放所述第一签名数据,当检测到所述验证桶中包含的第一签名数据的数量等于所述容量值时,停止进行对于所述验证桶的第一签名数据的投放,并调用预设的CA认证接口对所述验证桶内的各所述第一签名数据进行验证处理,得到与所述验证桶内的各所述第一签名数据一一对应的第一认证结果,在完成了对于所述验证桶内的各所述第一签名数据的验证处理后,对所述验证捅进行数据清空处理,并参照所述验证桶内的各所述第一签名数据的验证处理方式,基于所述验证桶与所述CA认证接口对当前剩余的待处理的第一签名数据进行验证处理,得到对应的第二认证结果;
获取所述签名数据中除所述第一签名数据外的第二签名数据,在预设的业务非高峰时间段内进行对于所述第二签名数据的验证处理,得到对应的第三认证结果。
可选地,所述判断当前时间是否处于预设的业务高峰时间段内的步骤之前,包括:
获取所述服务器在第一预设时间周期的指定时间段内的资源消耗量;
对所述第一预设时间周期、所述指定时间段以及所述资源消耗量进行统计分析,生成相应的资源消耗统计记录表;
基于所述资源消耗统计记录表,分别获取所述服务器在所述第一预设时间周期中每一天的资源消耗数据大于预设的资源消耗阈值的第一时间段;
计算所有所述第一时间段的交集,得到对应的第二时间段;
将所述第二时间段作为所述业务高峰时间段。
可选地,所述判断当前时间是否处于预设的业务高峰时间段内的步骤之前,包括:
将每天的时间段划分为多个数据处理时段;
基于历史数据处理库,统计每个所述数据处理时段在第二预设时间周期内的任务处理总量;
从所述任务处理总量中筛选出大于预设的任务处理量阈值的第一任务处理总量;
基于各所述第一任务处理总量分别对应的数值,按照数值从大到小的顺序对所有所述第一任务处理总量进行排序,得到对应的排序结果;
从所述排序结果中排在首位的第一任务处理总量开始,依次获取第二预设数量的指定任务处理总量;
从所有所述数据处理时段中获取与所述指定任务处理总量对应的指定数据处理时段;
将所述指定数据处理时段作为所述业务高峰时间段。
可选地,所述基于各所述指定签名数据的签名键值生成一一对应的随机数的步骤,包括:
基于预设的哈希算法生成与特定签名数据的签名键值对应的特定哈希值,其中,所述特定签名数据为所有所述指定签名数据中的任意一个数据;
获取预设数值;
使用所述特定哈希值对所述预设数值进行取余运算,得到对应的数值结果;
将所述数值结果作为与所述特定签名数据对应的特定随机数。
可选地,所述获取预设的验证桶,以及获取所述验证桶的容量值的步骤之前,包括:
获取所述签名数据的数量值;以及,
获取预设的比例系数,其中,所述比例系数小于1;
基于所述数量值与所述比例系数生成目标数量;
将所述目标数量作为所述验证桶的容量值。
可选地,所述调用预设的CA认证接口对所述验证桶内的各所述第一签名数据进行验证处理,得到与所述验证桶内的各所述第一签名数据一一对应的第一认证结果的步骤,包括:
获取与CA认证对应的标准数据格式;
基于所述标准数据格式分别对所述验证桶内的各所述第一签名数据进行格式转换处理,生成对应的转换后的第一签名数据;
调用所述CA认证接口;
通过所述CA认证接口对各所述转换后的第一签名数据进行验证处理,得到与各所述转换后的第一签名数据一一对应的第一认证结果。
可选地,所述获取所述签名数据中除所述第一签名数据外的第二签名数据,在预设的业务非高峰时间段内进行对于所述第二签名数据的验证处理,得到对应的第三认证结果的步骤之后,包括:
对与所述签名数据对应的所有认证结果进行分析处理,从所有所述认证结果中筛选出认证未通过的指定认证结果,其中,所述认证结果包括所述第一认证结果、所述第二认证结果以及所述第三认证结果;
基于所述指定认证结果,获取与各所述指定认证结果分别对应的第三签名数据;
基于所述第三签名数据生成相应的警报信息;
获取预设的邮件登录信息,以及获取指定邮件地址;
基于所述邮件登录信息登录至对应的邮件服务器;
通过所述邮件服务器将所述警报信息发送至所述指定邮件地址。
本申请还提供一种签名数据的处理装置,应用于服务器,包括:
第一获取模块,用于获取待验证的签名数据,以及获取当前时间;
第一判断模块,用于判断当前时间是否处于预设的业务高峰时间段内;
第一生成模块,用于若当前时间处于所述业务高峰时间段内,从所有所述签名数据中提取出第一预设数量的指定签名数据,并基于各所述指定签名数据的签名键值生成一一对应的随机数;
第一筛选模块,用于从所有所述随机数中筛选出满足预设条件的指定随机数;
第二获取模块,用于获取预设的验证桶,以及获取所述验证桶的容量值;
第二判断模块,用于判断所述指定随机数的数量是否为所述容量值的倍数,且所述指定随机数的数量是否大于所述容量值;
第三获取模块,用于若所述指定随机数的数量为所述容量值的倍数,且所述指定随机数的数量大于所述容量值,则获取与所述指定随机数对应的指定签名数据,并将所述指定随机数对应的指定签名数据记为第一签名数据;
第一验证模块,用于按照预设的数据投放速率向所述验证桶投放所述第一签名数据,当检测到所述验证桶中包含的第一签名数据的数量等于所述容量值时,停止进行对于所述验证桶的第一签名数据的投放,并调用预设的CA认证接口对所述验证桶内的各所述第一签名数据进行验证处理,得到与所述验证桶内的各所述第一签名数据一一对应的第一认证结果,在完成了对于所述验证桶内的各所述第一签名数据的验证处理后,对所述验证捅进行数据清空处理,并参照所述验证桶内的各所述第一签名数据的验证处理方式,基于所述验证桶与所述CA认证接口对当前剩余的待处理的第一签名数据进行验证处理,得到对应的第二认证结果;
第二验证模块,用于获取所述签名数据中除所述第一签名数据外的第二签名数据,在预设的业务非高峰时间段内进行对于所述第二签名数据的验证处理,得到对应的第三认证结果。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请中提供的签名数据的处理方法、装置、计算机设备和存储介质,具有以下有益效果:
本申请中提供的签名数据的处理方法、装置、计算机设备和存储介质,在当前时间处于业务高峰时间段内时,通过使用与待验证的签名数据的哈希值以及预设数值来生成与签名数据相应的随机数,并根据该随机数来从所有的签名数据中挑选出符合预设条件的部分特殊的签名数据,可以有效保证从签名数据中筛选出的需要在当前进行验证处理的特殊的签名数据具有随机性与不规律性。之后在业务高峰时间段内有选择性地对此部分特殊的签名数据进行验证处理,并把其它的余下签名数据分配至业务非高峰时间段内进行处理,以实现采用不同时间段对签名数据进行分批CA验证处理,大大降低大批量的待验证的签名数据给服务器带来的CA验证服务压力,降低了业务高峰时间段对服务器的处理资源的高要求,减少了处理成本。以及,通过采用验证桶的形式来对上述特殊的签名数据进行分批的验证处理,即每次只会从该特殊的签名数据中抽取出与验证桶的容量相同的部分签名数据进行验证处理,而不是直接采用同时对所有上述特殊的签名数据进行验证处理的方式,能够进一步有效缓解服务器的CA验证服务压力。同时,由于业务高峰时间段的验证任务的减少使得上述特殊的签名数据能够得到及时的验证处理,进而有效提升该特殊的签名数据对应的CA验证服务的响应时间,有利于提高客户满意度。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
参照图1,本申请一实施例的签名数据的处理方法,应用于服务器,包括:
S1:获取待验证的签名数据,以及获取当前时间;
S2:判断当前时间是否处于预设的业务高峰时间段内;
S3:若当前时间处于所述业务高峰时间段内,从所有所述签名数据中提取出第一预设数量的指定签名数据,并基于各所述指定签名数据的签名键值生成一一对应的随机数;
S4:从所有所述随机数中筛选出满足预设条件的指定随机数;
S5:获取预设的验证桶,以及获取所述验证桶的容量值;
S6:判断所述指定随机数的数量是否为所述容量值的倍数,且所述指定随机数的数量是否大于所述容量值;
S7:若所述指定随机数的数量为所述容量值的倍数,且所述指定随机数的数量大于所述容量值,则获取与所述指定随机数对应的指定签名数据,并将所述指定随机数对应的指定签名数据记为第一签名数据;
S8:按照预设的数据投放速率向所述验证桶投放所述第一签名数据,当检测到所述验证桶中包含的第一签名数据的数量等于所述容量值时,停止进行对于所述验证桶的第一签名数据的投放,并调用预设的CA认证接口对所述验证桶内的各所述第一签名数据进行验证处理,得到与所述验证桶内的各所述第一签名数据一一对应的第一认证结果,在完成了对于所述验证桶内的各所述第一签名数据的验证处理后,对所述验证捅进行数据清空处理,并参照所述验证桶内的各所述第一签名数据的验证处理方式,基于所述验证桶与所述CA认证接口对当前剩余的待处理的第一签名数据进行验证处理,得到对应的第二认证结果;
S9:获取所述签名数据中除所述第一签名数据外的第二签名数据,在预设的业务非高峰时间段内进行对于所述第二签名数据的验证处理,得到对应的第三认证结果。
如上述步骤S1至S9所述,本方法实施例的执行主体为一种签名数据的处理装置。在实际应用中,上述签名数据的处理装置可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。上述签名数据的处理装置具体可为服务器。本实施例中的签名数据的处理装置,能够实现采用不同时间段对验证数据进行分批CA验证处理,大大降低大批量的待验证的签名数据给服务器带来的CA验证服务压力,降低了业务高峰时间段对服务器的处理资源的高要求,减少了处理成本。具体地,首先获取待验证的签名数据,以及获取当前时间。其中,上述待验证的签名数据为需要进行合法性验证的电子签名数据。并判断当前时间是否处于预设的业务高峰时间段内。其中,对于上述业务高峰时间段的确定方式不作具体限定,可通过对于服务器的历史资源消耗量数据进行分析统计处理确定出服务器的业务高峰时间段,或者还可通过对预设时间周期内的各个数据处理时间的任务处理总量进行分析处理,并基于分析结果来智能地确定出服务器的业务高峰时间段。如果当前时间处于上述业务高峰时间段内,从所有上述签名数据中提取出第一预设数量的指定签名数据,并基于各上述指定签名数据的签名键值生成一一对应的随机数。其中,对于上述第一预设数量不作具体限定,只需保证该第一预设数量的数值少于上述签名数据的数量值即可,例如可根据对历史验证处理过程中的数据进行统计分析后生成该第一预设数量。另外,可分别将各上述指定签名数据的签名键值输入至预设的哈希算法来计算得到相应的哈希值,再基于哈希值对预设数值进行取余运算来生成对应的随机数。然后从所有上述随机数中筛选出满足预设条件的指定随机数。其中,上述预设条件可对应于一个数值范围,该数值范围的具体取值可根据实际需求进行设置,例如可设置为0-100。在计算得到了与各指定签名数据一一对应的随机数后,便可从所有随机数中挑选出满足上述预设条件的指定随机数,进而后续可基于该指定随机数来从所有待验证的签名数据中快速地筛选出与该指定随机数对应的第一签名数据。之后获取预设的验证桶,以及获取上述验证桶的容量值。其中,上述验证桶为用于存储待验证的签名数据的容器,可以是常见各类集合容器,如Map、List等。另外,对于上述验证桶的容量值的数值不作具体限定,可以为一个固定值,如100,或者还可以通过计算上述签名数据的数量值与预设的比例系数的乘积来作为该验证桶的容量值。并且判断上述指定随机数的数量是否为上述容量值的倍数,且上述指定随机数的数量是否大于上述容量值。其中,判断上述指定随机数的数量是否为上述容量值的倍数的过程可包括:使用上述指定随机数对上述容量值进行整除,如果指定随机数能够被该容量值整除,则可判定上述指定随机数为上述容量值的倍数。另外,如果上述指定随机数大于上述容量值,则表明该指定随机数的数量至少为该容量值的2倍以上。此外,如果上述指定随机数不为上述容量值的倍数,则获取使用上述指定随机数的数量对上述容量值进行整除后得到的余数,再从所有上述指定随机数中随机剔除掉与上述余数相同的多个随机数以得到剔除处理后的指定随机数,从而可以保证得到的剔除处理后的指定随机数为上述容量值的倍数。由于验证桶的工作方式是当检测到内部的数据与其容量值相同时才会对内部的数据进行处理,因而通过控制在业务高峰时间段内处理与验证桶的容量值存在倍数关系的签名数据,能够保证此部分签名数据均能够得到相应的验证处理,而不会出现个别无法得到验证处理的签名数据,从而可以提高对于签名数据的验证处理的智能性。如果上述指定随机数为上述容量值的倍数,且上述指定随机数大于上述容量值,则获取与上述指定随机数对应的指定签名数据,并将上述指定随机数对应的指定签名数据记为第一签名数据。其中,由于随机数是基于签名数据的签名键值生成的,因而可根据随机数与签名键值之间的对应关系,从所有签名数据中提取出与上述指定随机数对应的第一签名数据。在得到了上述第一签名数据后,按照预设的数据投放速率向上述验证桶投放上述第一签名数据,当检测到上述验证桶中包含的第一签名数据的数量等于上述容量值时,停止进行对于上述验证桶的第一签名数据的投放,并调用预设的CA认证接口对上述验证桶内的各上述第一签名数据进行验证处理,得到与上述验证桶内的各上述第一签名数据上述一一对应的第一认证结果,在完成了对于上述验证桶内的各上述第一签名数据的验证处理后,对上述验证捅进行数据清空处理,并参照上述验证桶内的各上述第一签名数据的验证处理方式,基于上述验证桶与上述CA认证接口对当前剩余的待处理的第一签名数据进行验证处理,得到对应的第二认证结果。最后获取上述签名数据中除上述第一签名数据外的第二签名数据,在预设的业务非高峰时间段内进行对于上述第二签名数据的验证处理,得到对应的第三认证结果。其中,对于上述业务非高峰时间段的确定过程不作限定,例如可将一天中除上述业务高峰时间段之外的时间段确定为上述业务非高峰时间段。另外,对于上述签名数据中除上述第一签名数据外的第二签名数据的验证处理过程可参考上述第一签名数据的验证处理过程,在此不再赘述。本实施例在当前时间处于业务高峰时间段内时,通过使用与待验证的签名数据的哈希值以及预设数值来生成与签名数据相应的随机数,并根据该随机数来从所有的签名数据中挑选出符合预设条件的部分特殊的签名数据,可以有效保证从签名数据中筛选出的需要在当前进行验证处理的特殊的签名数据具有随机性与不规律性。之后在业务高峰时间段内有选择性地对此部分特殊的签名数据进行验证处理,并把其它的余下签名数据分配至业务非高峰时间段内进行处理,以实现采用不同时间段对签名数据进行分批CA验证处理,大大降低大批量的待验证的签名数据给服务器带来的CA验证服务压力,降低了业务高峰时间段对服务器的处理资源的高要求,减少了处理成本。以及,通过采用验证桶的形式来对上述特殊的签名数据进行分批的验证处理,即每次只会从该特殊的签名数据中抽取出与验证桶的容量相同的部分签名数据进行验证处理,而不是直接采用同时对所有上述特殊的签名数据进行验证处理的方式,能够进一步有效缓解服务器的CA验证服务压力。同时,由于业务高峰时间段的验证任务的减少使得上述特殊的签名数据能够得到及时的验证处理,进而有效提升该特殊的签名数据对应的CA验证服务的响应时间,有利于提高客户满意度。
进一步地,本申请一实施例中,上述步骤S2之前,包括:
S200:获取所述服务器在第一预设时间周期的指定时间段内的资源消耗量;
S201:对所述第一预设时间周期、所述指定时间段以及所述资源消耗量进行统计分析,生成相应的资源消耗统计记录表;
S202:基于所述资源消耗统计记录表,分别获取所述服务器在所述第一预设时间周期中每一天的资源消耗数据大于预设的资源消耗阈值的第一时间段;
S203:计算所有所述第一时间段的交集,得到对应的第二时间段;
S204:将所述第二时间段作为所述业务高峰时间段。
如上述步骤S200至S204所述,在执行上述判断当前时间是否处于预设的业务高峰时间段内的步骤之前,还可包括确定出上述业务高峰时间段的确定步骤。具体地,首先获取上述服务器在第一预设时间周期的指定时间段内的资源消耗量。其中,对于上述第一预设时间周期与上述指定时间段不作具体限定,可根据实际需求进行设置。举例地,上述第一预设时间周期可为与当前时间相邻的上一个星期。上述指定时间段为粗略确定的服务器的业务繁忙时间段,例如该指定时间段可设为10:00-20:00。然后对上述第一预设时间周期、上述指定时间段以及上述资源消耗量进行统计分析,生成相应的资源消耗统计记录表。其中,上述资源消耗统计记录表的生成过程可包括:可以将指定时间段按照每小时作为单位进行划分,并按照从小到大的顺序填充至预设的表格模板内的行表头处;再将第一预设时间周期按照每天作为单位进行划分,并按照从小到大的顺序填充至上述表格模板内的列表头处;再将与行表头、列表头分别对应的资源消耗量一一对应地填充至上述表格模板的单元格内,以生成上述资源消耗统计记录表。另外,对于上述表格模板不作具体限定,例如可为不含数据的Excel表格。之后基于上述资源消耗统计记录表,分别获取上述服务器在上述第一预设时间周期中每一天的资源消耗数据大于预设的资源消耗阈值的第一时间段。其中,对于上述资源消耗阈值的具体数值不作限定,可根据实际使用需求进行设置。最后计算所有上述第一时间段的交集,得到对应的第二时间段,并将上述第二时间段作为上述业务高峰时间段。其中,在得到了上述第一时间段后,通过对所有上述第一时间段进行取交集的处理,使得得到的上述第二时间段为服务器在上述第一预设时间周期中每一天的资源消耗量均大于上述资源消耗阈值的相同时间段,即服务器在上述第一预设时间周期内的任意一天的第二时间段均为业务繁忙时间段,进而可将该第二时间段用作上述业务高峰时间段。本实施例通过对于服务器的历史资源消耗量数据进行分析统计处理,能够智能准确地确定出该服务器的业务高峰时间段。
进一步地,本申请一实施例中,上述步骤S2之前,包括:
S210:将每天的时间段划分为多个数据处理时段;
S211:基于历史数据处理库,统计每个所述数据处理时段在第二预设时间周期内的任务处理总量;
S212:从所述任务处理总量中筛选出大于预设的任务处理量阈值的第一任务处理总量;
S213:基于各所述第一任务处理总量分别对应的数值,按照数值从大到小的顺序对所有所述第一任务处理总量进行排序,得到对应的排序结果;
S214:从所述排序结果中排在首位的第一任务处理总量开始,依次获取第二预设数量的指定任务处理总量;
S215:从所有所述数据处理时段中获取与所述指定任务处理总量对应的指定数据处理时段;
S216:将所述指定数据处理时段作为所述业务高峰时间段。
如上述步骤S210至S216所述,在执行上述判断当前时间是否处于预设的业务高峰时间段内的步骤之前,还可包括确定出上述业务高峰时间段的确定步骤。具体地,首先将每天的时间段划分为多个数据处理时段。其中,对于上述数据处理时段的划分方式不作具体限定,且划分得到的每个数据处理时段包含的时间长度也可根据实际需求设定,例如可以使用6小时作为一个数据处理时间的时间长度,则从0时开始可将一天划分为4个数据处理时段,即0:00-6:00,6:00-12:00,12:00-18:00,18:00-24:00。然后基于历史数据处理库,统计每个上述数据处理时段在第二预设时间周期内的任务处理总量。其中,对于上述第二预设时间周期不作具体限定,可根据实际需求进行设置。举例地,上述第二预设时间周期可为与当前时间相邻的上一个星期。举例地,如果数据处理时段为12:00-18:00,该数据处理时段12:00-18:00在一个星期捏的任务处理总量即是该星期内时段12:00-18:00包含的任务处理量的和值。在得到了上述任务处理总量后,从上述任务处理总量中筛选出大于预设的任务处理量阈值的第一任务处理总量。其中,对于上述任务处理量阈值不作具体限定,可根据实际需求进行设置。之后基于各上述第一任务处理总量分别对应的数值,按照数值从大到小的顺序对所有上述第一任务处理总量进行排序,得到对应的排序结果。在得到了上述排序结果后,再从上述排序结果中排在首位的第一任务处理总量开始,依次获取第二预设数量的指定任务处理总量。其中,对于上述第二预设数量不作具体限定,可根据实际需求进行设置,只需保证该第二预设数量的数值不大于上述第一任务处理总量的数值即可。最后从所有上述数据处理时段中获取与上述指定任务处理总量对应的指定数据处理时段,并将上述指定数据处理时段作为上述业务高峰时间段。本实施例通过对第二预设时间周期内的各个数据处理时间的任务处理总量进行分析处理,并基于分析结果来智能地确定出该服务器的业务高峰时间段,有效地提高了生成的业务高峰时间段的准确性。
进一步地,本申请一实施例中,上述步骤S3中的所述基于各所述指定签名数据的签名键值生成一一对应的随机数的步骤,包括:
S300:基于预设的哈希算法生成与特定签名数据的签名键值对应的特定哈希值,其中,所述特定签名数据为所有所述指定签名数据中的任意一个数据;
S301:获取预设数值;
S302:使用所述特定哈希值对所述预设数值进行取余运算,得到对应的数值结果;
S303:将所述数值结果作为与所述特定签名数据对应的特定随机数。
如上述步骤S300至S303所述,上述基于各上述指定签名数据的签名键值生成一一对应的随机数的步骤,具体可包括:首先基于预设的哈希算法生成与特定签名数据的签名键值对应的特定哈希值,其中,上述特定签名数据为所有上述指定签名数据中的任意一个数据。另外,可将上述特定签名数据的签名键值输入至预设的哈希算法来计算得到相应的哈希值。对于上述哈希算法不作具体限定,该哈希算法可以是任意的哈希函数,例如可包括MD2、MD4、MD5、SHA等等。然后获取预设数值。其中,对于上述预设数值不作具体限定,可根据实际需求进行设置,例如可设置为100。之后使用上述特定哈希值对上述预设数值进行取余运算,得到对应的数值结果。最后将上述数值结果作为与上述特定签名数据对应的特定随机数。本实施例通过基于签名数据的哈希值以及预设数值来生成与签名数据相应的随机数,有利于后续根据该随机数来从所有的签名数据中挑选出符合条件的部分特殊的签名数据,从而只在业务高峰时间段内有选择性地对这部分特殊的签名数据进行验证处理,并把其它的余下签名数据分配至业务非高峰时间段内进行处理,以实现采用不同时间段进行分批CA验证处理,从而大大降低大批量的签名数据给服务器带来的CA验证服务压力。
进一步地,本申请一实施例中,上述步骤S5之前,包括:
S500:获取所述签名数据的数量值;以及,
S501:获取预设的比例系数,其中,所述比例系数小于1;
S502:基于所述数量值与所述比例系数生成目标数量;
S503:将所述目标数量作为所述验证桶的容量值。
如上述步骤S500至S503所述,在执行上述获取预设的验证桶,以及获取上述验证桶的容量值的步骤之前,还可包括关于上述验证桶的容量值的生成步骤。具体地,首先获取上述签名数据的数量值。以及获取预设的比例系数,其中,上述比例系数小于1。另外,对于上述比例系数的具体数值不作具体限定,可根据实际需求进行设置,可由服务器根据历史处理经验自行设置或者基于用户输入的比例数据进行设置,例如可设置为0.05。然后基于上述数量值与上述比例系数生成目标数量。其中,上述基于上述数量值与上述比例系数生成上述验证桶的容量值的过程可包括:计算上述数量值与上述比例系数的乘积;将上述乘积用作上述验证桶的容量值。最后在得到了上述目标数量后,将上述目标数量作为上述验证桶的容量值。本实施例通过基于签名数据的数量值与预设的比例系数来智能快速地生成上述验证桶的容量值,有利于后续根据该容量值来有序地对投放于验证桶内的签名数据进行验证处理,有效地提高了验证处理过程的规范性。
进一步地,本申请一实施例中,上述步骤S8中的所述调用预设的CA认证接口对所述验证桶内的所述第二签名数据进行验证处理,得到与各所述第二签名数据一一对应的第一认证结果的步骤,包括:
S800:获取与CA认证对应的标准数据格式;
S801:基于所述标准数据格式分别对所述验证桶内的各所述第一签名数据进行格式转换处理,生成对应的转换后的第一签名数据;
S802:调用所述CA认证接口;
S803:通过所述CA认证接口对各所述转换后的第一签名数据进行验证处理,得到与各所述转换后的第一签名数据一一对应的第一认证结果。
如上述步骤S800至S803所述,上述调用预设的CA认证接口对上述验证桶内的各上述第一签名数据进行验证处理,得到与上述验证桶内的各上述第一签名数据上述一一对应的第一认证结果的步骤,具体可包括:首先获取与CA认证对应的标准数据格式。其中,上述标准数据格式包括与CA认证对应的标准字段以及与该标准字段对应的标准字段数值。然后基于上述标准数据格式分别对上述验证桶内的各上述第一签名数据上述进行格式转换处理,生成对应的转换后的第一签名数据。其中,上述基于上述标准数据格式对第一签名数据进行格式转换处理的过程可包括:将第一签名数据中包括的字段转换为相应的标准字段,并保持与该字段对应的字段数值不变。举例地,如果与CA认证对应的预设的标准数据格式包含的标准字段为sign1字段,而任意一个第一签名数据为:sign字段:XNibuRA%2FLx3vjq1FFiv4AqzygOA%3D,则基于上述标准数据格式对该第一签名数据进行格式转换处理后可得:sign1字段:XNibuRA%2FLx3vjq1FFiv4AqzygOA%3D。最后调用上述CA认证接口,并通过上述CA认证接口对各上述转换后的第一签名数据进行验证处理,得到与各上述转换后的第一签名数据一一对应的第一认证结果。其中,上述CA认证接口为用于调用CA认证服务的接口,通过该CA认证接口来调用CA认证服务,进而能够基于该CA认证服务来实现对于对第一签名数据的验证处理以确定出该第一签名数据的合法性。本实施例在对验证桶内的第一签名数据进行验证处理之前,通过对第一签名数据进行与CA认证对应的格式转换处理,使得后续能够调用CA认证接口来顺利地进行对于转换后的第一签名数据的验证处理,有效地保证了生成的与第一签名数据对应的第一验证结果的准确性。
进一步地,本申请一实施例中,上述步骤S9之后,包括:
S900:对与所述签名数据对应的所有认证结果进行分析处理,从所有所述认证结果中筛选出认证未通过的指定认证结果,其中,所述认证结果包括所述第一认证结果、所述第二认证结果以及所述第三认证结果;
S901:基于所述指定认证结果,获取与各所述指定认证结果分别对应的第三签名数据;
S902:基于所述第三签名数据生成相应的警报信息;
S903:获取预设的邮件登录信息,以及获取指定邮件地址;
S904:基于所述邮件登录信息登录至对应的邮件服务器;
通过所述邮件服务器将所述警报信息发送至所述指定邮件地址。
如上述步骤S900至S904所述,上述获取上述签名数据中除上述第一签名数据外的第二签名数据,在预设的业务非高峰时间段内进行对于上述第二签名数据的验证处理,得到对应的第三认证结果的步骤之后,还可包括生成与上述签名数据对应的警报信息的生成步骤。具体地,首先对与上述签名数据对应的所有认证结果进行分析处理,从所有上述认证结果中筛选出认证未通过的指定认证结果,其中,上述认证结果包括上述第一认证结果、上述第二认证结果以及上述第三认证结果上述。然后基于上述指定认证结果,获取与各上述指定认证结果分别对应的第三签名数据。在得到了上述第三签名数据后,再基于上述第三签名数据生成相应的警报信息。其中,上述警报信息至少包括上述第三签名数据,可通过将上述第三签名数据填入预设的警报信息模板内以生成上述警报信息。之后获取预设的邮件登录信息,以及获取指定邮件地址。最后基于上述邮件登录信息登录至对应的邮件服务器;通过上述邮件服务器将上述警报信息发送至上述指定邮件地址。本实施例通过从经过验证处理的所有签名数据对应的所有认证结果中筛选出认证未通过的指定认证结果,再基于与该指定认证结果相关的第三签名数据生成对应的警报信息,后续再使用邮件服务器将该警报信息果发送至指定邮件地址,以使得与该指定邮件地址对应的指定用户能够及时了解到本次认证未通过的第三签名数据的相关信息,进而后续能够及时采取对于第三签名数据的人工处理。
本申请实施例中的签名数据的处理方法还可以应用于区块链领域,如将上述指定随机数等数据存储于区块链上。通过使用区块链来对上述指定随机数进行存储和管理,能够有效地保证上述指定随机数的安全性与不可篡改性。
上述区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参照图2,本申请一实施例中还提供了一种签名数据的处理装置,应用于服务器,包括:
第一获取模块1,用于获取待验证的签名数据,以及获取当前时间;
第一判断模块2,用于判断当前时间是否处于预设的业务高峰时间段内;
第一生成模块3,用于若当前时间处于所述业务高峰时间段内,从所有所述签名数据中提取出第一预设数量的指定签名数据,并基于各所述指定签名数据的签名键值生成一一对应的随机数;
第一筛选模块4,用于从所有所述随机数中筛选出满足预设条件的指定随机数;
第二获取模块5,用于获取预设的验证桶,以及获取所述验证桶的容量值;
第二判断模块6,用于用于判断所述指定随机数的数量是否为所述容量值的倍数,且所述指定随机数的数量是否大于所述容量值;
第三获取模块7,用于若所述指定随机数的数量为所述容量值的倍数,且所述指定随机数的数量大于所述容量值,则获取与所述指定随机数对应的指定签名数据,并将所述指定随机数对应的指定签名数据记为第一签名数据;
第一验证模块8,用于按照预设的数据投放速率向所述验证桶投放所述第一签名数据,当检测到所述验证桶中包含的第一签名数据的数量等于所述容量值时,停止进行对于所述验证桶的第一签名数据的投放,并调用预设的CA认证接口对所述验证桶内的各所述第一签名数据进行验证处理,得到与所述验证桶内的各所述第一签名数据一一对应的第一认证结果,在完成了对于所述验证桶内的各所述第一签名数据的验证处理后,对所述验证捅进行数据清空处理,并参照所述验证桶内的各所述第一签名数据的验证处理方式,基于所述验证桶与所述CA认证接口对当前剩余的待处理的第一签名数据进行验证处理,得到对应的第二认证结果;
第二验证模块9,用于获取所述签名数据中除所述第一签名数据外的第二签名数据,在预设的业务非高峰时间段内进行对于所述第二签名数据的验证处理,得到对应的第三认证结果。
本实施例中,上述签名数据的处理装置中的第一获取模块、第一判断模块、第一生成模块、第一筛选模块、第二获取模块、第二判断模块、第三获取模块、第一验证模块与第二验证模块的功能和作用的实现过程具体详见上述签名数据的处理方法中对应步骤S1至S9的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述签名数据的处理装置,包括:
第四获取模块,用于获取所述服务器在第一预设时间周期的指定时间段内的资源消耗量;
第二生成模块,用于对所述第一预设时间周期、所述指定时间段以及所述资源消耗量进行统计分析,生成相应的资源消耗统计记录表;
第五获取模块,用于基于所述资源消耗统计记录表,分别获取所述服务器在所述第一预设时间周期中每一天的资源消耗数据大于预设的资源消耗阈值的第一时间段;
计算模块,用于计算所有所述第一时间段的交集,得到对应的第二时间段;
第一确定模块,用于将所述第二时间段作为所述业务高峰时间段。
本实施例中,上述签名数据的处理装置中的第四获取模块、第二生成模块、第五获取模块、计算模块与第一确定模块的功能和作用的实现过程具体详见上述签名数据的处理方法中对应步骤S200至S204的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述签名数据的处理装置,包括:
划分模块,用于将每天的时间段划分为多个数据处理时段;
统计模块,用于基于历史数据处理库,统计每个所述数据处理时段在第二预设时间周期内的任务处理总量;
第二筛选模块,用于从所述任务处理总量中筛选出大于预设的任务处理量阈值的第一任务处理总量;
排序模块,用于基于各所述第一任务处理总量分别对应的数值,按照数值从大到小的顺序对所有所述第一任务处理总量进行排序,得到对应的排序结果;
第六获取模块,用于从所述排序结果中排在首位的第一任务处理总量开始,依次获取第二预设数量的指定任务处理总量;
第七获取模块,用于从所有所述数据处理时段中获取与所述指定任务处理总量对应的指定数据处理时段;
第二确定模块,用于将所述指定数据处理时段作为所述业务高峰时间段。
本实施例中,上述签名数据的处理装置中的划分模块、统计模块、第二筛选模块、排序模块、第六获取模块、第七获取模块与第二确定模块的功能和作用的实现过程具体详见上述签名数据的处理方法中对应步骤S210至S216的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述第一生成模块,包括:
生成单元,用于基于预设的哈希算法生成与特定签名数据的签名键值对应的特定哈希值,其中,所述特定签名数据为所有所述指定签名数据中的任意一个数据;
第一获取单元,用于获取预设数值;
计算单元,用于使用所述特定哈希值对所述预设数值进行取余运算,得到对应的数值结果;
确定单元,用于将所述数值结果作为与所述特定签名数据对应的特定随机数。
本实施例中,上述签名数据的处理装置中的生成单元、第一获取单元、计算单元与确定单元的功能和作用的实现过程具体详见上述签名数据的处理方法中对应步骤S300至S303的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述签名数据的处理装置,包括:
第八获取模块,用于获取所述签名数据的数量值;以及,
第九获取模块,用于获取预设的比例系数,其中,所述比例系数小于1;
第三生成模块,用于基于所述数量值与所述比例系数生成目标数量;
第三确定模块,用于将所述目标数量作为所述验证桶的容量值。
本实施例中,上述签名数据的处理装置中的第八获取模块、第九获取模块、第三生成模块与第三确定模块的功能和作用的实现过程具体详见上述签名数据的处理方法中对应步骤S500至S503的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述第一验证模块,包括:
第二获取单元,用于获取与CA认证对应的标准数据格式;
转换单元,用于基于所述标准数据格式分别对所述验证桶内的各所述第一签名数据进行格式转换处理,生成对应的转换后的第一签名数据;
调用单元,用于调用所述CA认证接口;
验证单元,用于通过所述CA认证接口对各所述转换后的第一签名数据进行验证处理,得到与各所述转换后的第一签名数据一一对应的第一认证结果。
本实施例中,上述签名数据的处理装置中的第二获取单元、转换单元、调用单元与验证单元的功能和作用的实现过程具体详见上述签名数据的处理方法中对应步骤S800至S803的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述签名数据的处理装置,包括:
第三筛选模块,用于对与所述签名数据对应的所有认证结果进行分析处理,从所有所述认证结果中筛选出认证未通过的指定认证结果,其中,所述认证结果包括所述第一认证结果、所述第二认证结果以及所述第三认证结果;
第十获取模块,用于基于所述指定认证结果,获取与各所述指定认证结果分别对应的第三签名数据;
第四生成模块,用于基于所述第三签名数据生成相应的警报信息;
第十一获取模块,用于获取预设的邮件登录信息,以及获取指定邮件地址;
登录模块,用于基于所述邮件登录信息登录至对应的邮件服务器;
发送模块,用于通过所述邮件服务器将所述警报信息发送至所述指定邮件地址。
本实施例中,上述签名数据的处理装置中的第三筛选模块、第十获取模块、第四生成模块、第十一获取模块、登录模块与发送模块的功能和作用的实现过程具体详见上述签名数据的处理方法中对应步骤S900至S904的实现过程,在此不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、输入装置和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统、计算机程序和数据库。该内存储器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储签名数据、业务高峰时间段、随机数、容量值、第一认证结果以及第二认证结果。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏是计算机中必不可少的一种图文输出设备,用于将数字信号转换为光信号,使文字与图形在显示屏的屏幕上显示出来。该计算机设备的输入装置是计算机与用户或其他设备之间进行信息交换的主要装置,用于把数据、指令及某些标志信息等输送到计算机中去。该计算机程序被处理器执行时以实现一种签名数据的处理方法。
上述处理器执行上述签名数据的处理方法的步骤:
获取待验证的签名数据,以及获取当前时间;
判断当前时间是否处于预设的业务高峰时间段内;
若当前时间处于所述业务高峰时间段内,从所有所述签名数据中提取出第一预设数量的指定签名数据,并基于各所述指定签名数据的签名键值生成一一对应的随机数;
从所有所述随机数中筛选出满足预设条件的指定随机数;
获取预设的验证桶,以及获取所述验证桶的容量值;
判断所述指定随机数的数量是否为所述容量值的倍数,且所述指定随机数的数量是否大于所述容量值;
若所述指定随机数的数量为所述容量值的倍数,且所述指定随机数的数量大于所述容量值,则获取与所述指定随机数对应的指定签名数据,并将所述指定随机数对应的指定签名数据记为第一签名数据;
按照预设的数据投放速率向所述验证桶投放所述第一签名数据,当检测到所述验证桶中包含的第一签名数据的数量等于所述容量值时,停止进行对于所述验证桶的第一签名数据的投放,并调用预设的CA认证接口对所述验证桶内的各所述第一签名数据进行验证处理,得到与所述验证桶内的各所述第一签名数据一一对应的第一认证结果,在完成了对于所述验证桶内的各所述第一签名数据的验证处理后,对所述验证捅进行数据清空处理,并参照所述验证桶内的各所述第一签名数据的验证处理方式,基于所述验证桶与所述CA认证接口对当前剩余的待处理的第一签名数据进行验证处理,得到对应的第二认证结果;
获取所述签名数据中除所述第一签名数据外的第二签名数据,在预设的业务非高峰时间段内进行对于所述第二签名数据的验证处理,得到对应的第三认证结果。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的装置、计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种签名数据的处理方法,具体为:
获取待验证的签名数据,以及获取当前时间;
判断当前时间是否处于预设的业务高峰时间段内;
若当前时间处于所述业务高峰时间段内,从所有所述签名数据中提取出第一预设数量的指定签名数据,并基于各所述指定签名数据的签名键值生成一一对应的随机数;
从所有所述随机数中筛选出满足预设条件的指定随机数;
获取预设的验证桶,以及获取所述验证桶的容量值;
判断所述指定随机数的数量是否为所述容量值的倍数,且所述指定随机数的数量是否大于所述容量值;
若所述指定随机数的数量为所述容量值的倍数,且所述指定随机数的数量大于所述容量值,则获取与所述指定随机数对应的指定签名数据,并将所述指定随机数对应的指定签名数据记为第一签名数据;
按照预设的数据投放速率向所述验证桶投放所述第一签名数据,当检测到所述验证桶中包含的第一签名数据的数量等于所述容量值时,停止进行对于所述验证桶的第一签名数据的投放,并调用预设的CA认证接口对所述验证桶内的各所述第一签名数据进行验证处理,得到与所述验证桶内的各所述第一签名数据一一对应的第一认证结果,在完成了对于所述验证桶内的各所述第一签名数据的验证处理后,对所述验证捅进行数据清空处理,并参照所述验证桶内的各所述第一签名数据的验证处理方式,基于所述验证桶与所述CA认证接口对当前剩余的待处理的第一签名数据进行验证处理,得到对应的第二认证结果;
获取所述签名数据中除所述第一签名数据外的第二签名数据,在预设的业务非高峰时间段内进行对于所述第二签名数据的验证处理,得到对应的第三认证结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。