解密调度方法、装置、可读存储介质及计算机设备与流程

文档序号:18357200发布日期:2019-08-06 23:18阅读:186来源:国知局
解密调度方法、装置、可读存储介质及计算机设备与流程

本发明涉及计算机技术领域,特别是涉及一种解密调度方法、装置、可读存储介质及计算机设备。



背景技术:

在网络信息的传输过程中,为了保证数据的安全性,通常需要对数据进行加密和解密处理,加密是将数据处理为密文的过程,解密是对密文进行解析,得到明文的过程。

目前,在对网络传输的密文进行解密的过程中,通常会有多台解密器来处理解密请求,调度器在接收到一条解密请求时,会选择空闲的解密器来处理请求,存在的问题是,调度器经常会选到性能较差的解密器来处理请求,导致解密效率较低。



技术实现要素:

为此,本发明的一个目的在于提出一种解密调度方法,以提升解密效率。

一种解密调度方法,所述方法包括:

接收调用者发起的解密请求,所述解密请求中携带密文;

从维护器队列获取所有处于空闲状态的维护器,所述维护器用于维护调度器与解密器之间的数据交互,且每个维护器对应一个解密器;

若处于空闲状态的维护器的数量至少为两个,则获取处理耗时最短的维护器,将其作为指定维护器;

通过所述指定维护器调用对应的解密器对所述密文进行解密,以获得明文。

根据本发明提供的解密调度方法,通过维护器来维护调度器与解密器之间的数据交互,当处于空闲状态的维护器的数量至少为两个时,会获取处理耗时最短的维护器,并将其作为指定维护器,然后通过该指定维护器调用对应的解密器对密文进行解密,由于每个维护器对应一个解密器,因此该指定维护器对应的解密器在处理解密任务时,相比其它解密器,具有最强的处理能力,即解密任务会由性能最优的解密器执行,使得解密耗时最短,最终能够有效提升解密效率。

另外,根据本发明上述的解密调度方法,还可以具有如下附加的技术特征:

进一步地,所述获取解密耗时最短的维护器,将其作为指定维护器的步骤包括:

获取每个处于空闲状态的维护器在预设时间范围内的历史处理记录;

根据每个处于空闲状态的维护器的历史处理记录,计算每个处于空闲状态的维护器的处理能力;

根据每个处于空闲状态的维护器的处理能力以及要解密的任务量,计算每个处于空闲状态的维护器该解密请求的时间,进而获取处理耗时最短的维护器,将其作为指定维护器。

进一步地,所述获取解密耗时最短的维护器,将其作为指定维护器的步骤包括:

获取每个处于空闲状态的维护器在预设时间范围内的所有处理记录;

计算每个处于空闲状态的维护器的平均耗时,并将平均耗时作为维护器的权重值;

将权重值最高的维护器作为处理耗时最短的维护器,并将其作为指定维护器。

进一步地,所述通过所述指定维护器调用对应的解密器对所述密文进行解密的步骤包括:

所述指定维护器通过条件编译远程调用对应的解密器的解密命令,以通过该对应的解密器对所述密文进行解密,得到解密后的文本字符串;

所述指定维护器通过adb命令获取该解密后的文本字符串。

进一步地,所述指定维护器通过adb命令获取该解密后的文本字符串的步骤之后,所述方法还包括:

将解密后的文本字符串通过函数回调方式返回给调用者;

存储或更新此次的耗时时间;

将所述指定维护器的工作状态重置为空闲状态;

通过信道方式通知调度器所述指定维护器已完成此次工作。

进一步地,所述方法还包括:

若没有处于空闲状态的维护器,则结束解密过程;

若处于空闲状态的维护器的数量为一个,则直接将该维护器作为指定维护器。

本发明的另一个目的在于提出一种解密调度装置,以提升解密效率。

一种解密调度装置,所述装置包括:

请求接收模块,用于接收调用者发起的解密请求,所述解密请求中携带密文;

第一获取模块,用于从维护器队列获取所有处于空闲状态的维护器,所述维护器用于维护调度器与解密器之间的数据交互,且每个维护器对应一个解密器;

第二获取模块,用于若处于空闲状态的维护器的数量至少为两个,则获取处理耗时最短的维护器,将其作为指定维护器;

调用解密模块,用于通过所述指定维护器调用对应的解密器对所述密文进行解密,以获得明文。

根据本发明提供的解密调度装置,通过维护器来维护调度器与解密器之间的数据交互,当处于空闲状态的维护器的数量至少为两个时,会获取处理耗时最短的维护器,并将其作为指定维护器,然后通过该指定维护器调用对应的解密器对密文进行解密,由于每个维护器对应一个解密器,因此该指定维护器对应的解密器在处理解密任务时,相比其它解密器,具有最强的处理能力,即解密任务会由性能最优的解密器执行,使得解密耗时最短,最终能够有效提升解密效率。

另外,根据本发明上述的解密调度装置,还可以具有如下附加的技术特征:

进一步地,所述第二获取模块具体用于:

获取每个处于空闲状态的维护器在预设时间范围内的历史处理记录;

根据每个处于空闲状态的维护器的历史处理记录,计算每个处于空闲状态的维护器的处理能力;

根据每个处于空闲状态的维护器的处理能力以及要解密的任务量,计算每个处于空闲状态的维护器该解密请求的时间,进而获取处理耗时最短的维护器,将其作为指定维护器

进一步地,所述第二获取模块还用于:

获取每个处于空闲状态的维护器在预设时间范围内的所有处理记录;

计算每个处于空闲状态的维护器的平均耗时,并将平均耗时作为维护器的权重值;

将权重值最高的维护器作为处理耗时最短的维护器,并将其作为指定维护器。

进一步地,所述调用解密模块具体用于:

所述指定维护器通过条件编译远程调用对应的解密器的解密命令,以通过该对应的解密器对所述密文进行解密,得到解密后的文本字符串;

所述指定维护器通过adb命令获取该解密后的文本字符串。

进一步地,所述装置还包括:

返回模块,用于将解密后的文本字符串通过函数回调方式返回给调用者;

记录模块,用于存储或更新此次的耗时时间;

重置模块,用于将所述指定维护器的工作状态重置为空闲状态;

通知模块,用于通过信道方式通知调度器所述指定维护器已完成此次工作。

进一步地,所述装置还包括:

结束模块,用于若没有处于空闲状态的维护器,则结束解密过程;

指定模块,用于若处于空闲状态的维护器的数量为一个,则直接将该维护器作为指定维护器。

本发明的另一个实施例还提出一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

本发明的另一个实施例还提出一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实施例了解到。

附图说明

本发明实施例的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本发明第一实施例的解密调度方法的流程图;

图2是根据本发明第二实施例的解密调度方法的流程图;

图3是根据本发明第三实施例的解密调度装置的结构示意图;

图4是根据本发明第四实施例的解密调度装置的结构示意图;

具体实施方式

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

现有技术中,在对网络传输的密文进行解密的过程中,通常会有多台解密器来处理解密请求,调度器在接收到一条解密请求时,会选择空闲的解密器来处理请求,存在的问题是,调度器经常会选到性能较差的解密器来处理请求,导致解密效率较低。为了解决解密效率较低的问题,本发明提供一种解密调度方法,以提升解密效率,为了更好的理解本发明,对本发明涉及的名词及解密系统的组成做如下说明:

密文:被加密后的文本字符串;

调用者:通常解密系统以函数(方法)的方式(在面向对象开发概念中,以方法替代函数)提供,在这里称调用该函数(方法)的地方为调用者,通常是业务系统;

解密请求:由调用者发起的调用,简称请求;

解密器:负责对密文解密的具体实现;

维护器(worker):负责维护解密器与调度器之间的数据交互,解密器有m个,则维护器也有m个,且每个维护器对应一个解密器,一个维护器维护一个解密器与调度器之间的数据交互。

调度器:负责维护器(worker)的调度;

等待队列:存储请求的数组;

维护器队列(worker队列):维护器(worker)的数组

基于此,请参阅图1,本发明第一实施例提供的解密调度方法,包括步骤s101~s104:

s101,接收调用者发起的解密请求,所述解密请求中携带密文;

其中,本实施例提供的解密调度方法应用于解密系统中的调度器,即执行主体为调度器,由调度器接收调用者发起的解密请求。

具体实施时,在调度器接收调用者发起的解密请求之前,解密系统需要初始化,具体包括以下步骤:

1)创建调度器。

2)创建等待队列。

3)创建维护器队列。

4)创建维护器,有多少解密器,就创建多少维护器,并存入到维护器队列。

5)创建维护器完成事件的信道,并与所有的维护器关联。

6)启动完成事件信道监听器,实时监听维护器完成事件,其本质是一个for循环的协程或线程。

解密系统初始化完成后,调度器会接收调用者发起的解密请求任务,具体步骤如下:

1)调用者通过解密系统提供的函数(方法)发起解密请求;

2)请求首先被调度器接收;

3)调度器把请求放入等待队列(通常是调用等待队列的保存函数);

4)等待队列保存请求(等待队列需做同步锁,对数组加锁,请求入数组,然后解锁),完成解密请求的接收。

s102,从维护器队列获取所有处于空闲状态的维护器,所述维护器用于维护调度器与解密器之间的数据交互,且每个维护器对应一个解密器;

其中,维护器通常具有两种状态,即空闲状态和工作状态,调度器会从维护器队列获取所有处于空闲状态的维护器。

s103,若处于空闲状态的维护器的数量至少为两个,则获取处理耗时最短的维护器,将其作为指定维护器;

其中,调度器从至少两个处于空闲状态的维护器中获取解密耗时最短的维护器,至少可以有以下两种实现方式:

第一种:

获取每个处于空闲状态的维护器在预设时间范围内的历史处理记录;

根据每个处于空闲状态的维护器的历史处理记录,计算每个处于空闲状态的维护器的处理能力,具体可以量化处理能力,处理能力的值越大,说明该维护器的性能越优;

根据每个处于空闲状态的维护器的处理能力以及要解密的任务量,计算每个处于空闲状态的维护器该解密请求的时间,进而获取处理耗时最短的维护器,将其作为指定维护器。

第二种:

获取每个处于空闲状态的维护器在预设时间范围内的所有处理记录;

计算每个处于空闲状态的维护器的平均耗时,并将平均耗时作为维护器的权重值,权重值越高,说明该维护器的性能越优;

将权重值最高的维护器作为处理耗时最短的维护器,并将其作为指定维护器。

获取到处理耗时最短的维护器之后,设置该指定维护器的状态为工作状态,以防止该指定维护器一次空闲被使用多次,并通过协程(线程)方式进入具体的解密工作,然后监听该指定维护器完成情况。

需要指出的是,若没有处于空闲状态的维护器,则结束解密过程。

若处于空闲状态的维护器的数量为一个,由于只存在一个处于空闲状态的的维护器,因此,直接将该维护器作为指定维护器。

s104,通过所述指定维护器调用对应的解密器对所述密文进行解密,以获得明文。

其中,指定维护器会通过条件编译远程调用对应的解密器的解密命令,以通过该对应的解密器对密文进行解密,得到解密后的文本字符串;

然后该指定维护器通过adb命令获取该解密后的文本字符串。

虽然不同系统的脚本执行方式不一样,但通过条件编译可以适配不同的操作系统,例如linux,windows,macox系统等。

由于维护器与解密器一一对应,因此该指定维护器对应的解密器在处理解密任务时,相比其它解密器,具有最强的处理能力,通过该指定维护器调用对应的解密器对密文进行解密,能够提升解密效率。

综上,根据本发明实施例的解密调度方法,通过维护器来维护调度器与解密器之间的数据交互,当处于空闲状态的维护器的数量至少为两个时,会获取处理耗时最短的维护器,并将其作为指定维护器,然后通过该指定维护器调用对应的解密器对密文进行解密,由于每个维护器对应一个解密器,因此该指定维护器对应的解密器在处理解密任务时,相比其它解密器,具有最强的处理能力,即解密任务会由性能最优的解密器执行,使得解密耗时最短,最终能够有效提升解密效率。

请参阅图2,本发明第二实施例提出的解密调度方法,包括步骤s201~s208:

s201,接收调用者发起的解密请求,所述解密请求中携带密文;

具体的,调度器在提取请求任务时,具体通过以下步骤实现:

1)锁等待队列;

2)按先进先出(或先进后出)方式取到一个请求任务;

3)解锁;

4)返回给调度器。

s202,从维护器队列获取所有处于空闲状态的维护器,所述维护器用于维护调度器与解密器之间的数据交互,且每个维护器对应一个解密器;

s203,若处于空闲状态的维护器的数量至少为两个,则获取处理耗时最短的维护器,将其作为指定维护器;

s204,通过所述指定维护器调用对应的解密器对所述密文进行解密,以获得明文;

s205,将解密后的文本字符串通过函数回调方式返回给调用者;

s206,存储或更新此次的耗时时间;

s207,将所述指定维护器的工作状态重置为空闲状态;

s208,通过信道方式通知调度器所述指定维护器已完成此次工作。

此外,调度器监听到完成事件之后,会再一次扫描等待队列中未完成的请求,进行下一次的任务。

本实施例提供的方法在第一实施例的基础上,除了具备第一实施例的效果外,能够对此次的指定维护器的耗时情况进行更新或存储,作为该指定维护器的历史处理记录,以便后续调度器进行比较分析,从而选取性能最优的维护器。

需要说明是,本实施例重点说明的是与上一实施例的不同之处,各个实施例之间相同相似的部分未重复描述,可以相互参见。

请参阅图3,基于同一发明构思,本发明第三实施例提出的解密调度装置,所述装置包括:

请求接收模块11,用于接收调用者发起的解密请求,所述解密请求中携带密文;

第一获取模块12,用于从维护器队列获取所有处于空闲状态的维护器,所述维护器用于维护调度器与解密器之间的数据交互,且每个维护器对应一个解密器;

第二获取模块13,用于若处于空闲状态的维护器的数量至少为两个,则获取处理耗时最短的维护器,将其作为指定维护器;

调用解密模块14,用于通过所述指定维护器调用对应的解密器对所述密文进行解密,以获得明文。

其中,所述第二获取模块13具体用于:

获取每个处于空闲状态的维护器在预设时间范围内的历史处理记录;

根据每个处于空闲状态的维护器的历史处理记录,计算每个处于空闲状态的维护器的处理能力;

根据每个处于空闲状态的维护器的处理能力以及要解密的任务量,计算每个处于空闲状态的维护器该解密请求的时间,进而获取处理耗时最短的维护器,将其作为指定维护器

其中,所述第二获取模块13还可以用于:

获取每个处于空闲状态的维护器在预设时间范围内的所有处理记录;

计算每个处于空闲状态的维护器的平均耗时,并将平均耗时作为维护器的权重值;

将权重值最高的维护器作为处理耗时最短的维护器,并将其作为指定维护器。

其中,所述调用解密模块14具体用于:

所述指定维护器通过条件编译远程调用对应的解密器的解密命令,以通过该对应的解密器对所述密文进行解密,得到解密后的文本字符串;

所述指定维护器通过adb命令获取该解密后的文本字符串。

进一步地,所述装置还包括:

结束模块15,用于若没有处于空闲状态的维护器,则结束解密过程;

指定模块16,用于若处于空闲状态的维护器的数量为一个,则直接将该维护器作为指定维护器。

根据本实施例提供的解密调度装置,解密调度装置,通过维护器来维护调度器与解密器之间的数据交互,当处于空闲状态的维护器的数量至少为两个时,会获取处理耗时最短的维护器,并将其作为指定维护器,然后通过该指定维护器调用对应的解密器对密文进行解密,由于每个维护器对应一个解密器,因此该指定维护器对应的解密器在处理解密任务时,相比其它解密器,具有最强的处理能力,即解密任务会由性能最优的解密器执行,使得解密耗时最短,最终能够有效提升解密效率。

请参阅图4,基于同一发明构思,本发明第四实施例提出的解密调度装置,所述装置包括:

请求接收模块21,用于接收调用者发起的解密请求,所述解密请求中携带密文;

第一获取模块22,用于从维护器队列获取所有处于空闲状态的维护器,所述维护器用于维护调度器与解密器之间的数据交互,且每个维护器对应一个解密器;

第二获取模块23,用于若处于空闲状态的维护器的数量至少为两个,则获取处理耗时最短的维护器,将其作为指定维护器;

调用解密模块24,用于通过所述指定维护器调用对应的解密器对所述密文进行解密,以获得明文。

其中,所述装置还包括:

返回模块25,用于将解密后的文本字符串通过函数回调方式返回给调用者;

记录模块26,用于存储或更新此次的耗时时间;

重置模块27,用于将所述指定维护器的工作状态重置为空闲状态;

通知模块28,用于通过信道方式通知调度器所述指定维护器已完成此次工作。

本发明实施例提出的解密调度装置的技术特征和技术效果与本发明第二实施例提出的方法相同,在此不予赘述。

此外,本发明的实施例还提出一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

此外,本发明的实施例还提出一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

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