具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
当前教育场景下,做过的试题遍布于线上、线下的试卷、练习册和书本各处,复习查找起来非常不方便。传统的方法包括在试题本上摘抄,或者将线上的试题进行复制,统一粘贴到一个本地文件再进行打印。上述方法花费时间过多,且打印过程存在着数据泄露的风险。如何能够安全可靠,快速生成个性化试题集,是本领域亟待解决的问题。
参考图1所示,本发明实施例提供了一种试题的认证打印方法的流程图。
步骤S110,接收来自客户端的打印试题请求,所述打印试题请求包括待打印试题特征信息和所述客户端的令牌。
在本步骤中,客户端可以是终端上安装的教育应用程序,教育应用程序中包括各类试题。待打印试题特征信息可以是打印试题的唯一标识,即用户选择一个或多个试题进行打印,客户端基于用户选择的试题生成打印试题特征信息;待打印试题特征信息可以是待打印试题的各维度特征的集合,例如,用户选择某段时间做过的错题进行打印,或选择某个科目付费购买的试题进行打印,或者选择某几个学生某段时间在某个科目做过的错题进行打印,客户端基于各个维度生成打印试题特征信息。
进一步地,客户端在向服务器发出登录请求时,服务器会为客户端分配令牌,此后,在登录状态下,客户端每次向服务器发出请求时,需要携带该令牌,从而避免多次重复登录。
作为本发明实施例的一些可选实施方式,如图2所示,在执行本步骤之前,所述方法还包括:
步骤S210,接收来自所述客户端的登录请求,所述登录请求包括所述客户端的标识信息、用户名和密码。
步骤S220,对所述客户端的标识信息、用户名和所述密码进行匹配性验证。
步骤S230,生成所述客户端的令牌以及所述令牌的存续时间。
具体来说,服务器验证客户端标识、用户名和密码是否匹配,若不匹配向客户端返回密码错误,若密码错误超过预设次数,则锁定该客户端;若匹配,则认证用户登录成功,将用户状态设置为登录,并生成客户端的令牌,并设置令牌的存续时间,开启存续时间的倒计时。
在倒计时的过程中,每次响应于客户端发起请求,若该请求具有权限,则均会启动存续时间的重新倒计时。
步骤S120,确定是否存在所述令牌;其中,令牌设置有存续时间,超过存续时间后令牌自动清空。
具体地,对于每个向服务器发起登录请求的客户端,服务器在分配令牌的同时,会设置该令牌的存续时间,当令牌在服务器存储时间超过该存储时间且在此过程中客户端未发起过新的请求,服务器将自动清空该令牌。其中,存续时间的长短可以根据客户端对数据安全的设置等级确定,等级越高存续。通过设置令牌的存续时间,避免登录之后,客户端只需带上令牌即可发起数据请求,提高了打印的安全性。
在本步骤中,服务器根据客户端发送的令牌,查找是否存储有与其匹配的令牌。若存在,则执行步骤130;若不存在,说明该令牌已经超过了存续时间而被清空,需要客户端重新登录获取新的令牌,此时服务器生成重新登录指令并发送至客户端,指示客户端进行重新登录。
步骤S130,更新所述令牌的存续时间。
具体地,在确定了服务器存在令牌后,由于在存续时间内客户端发起了新的请求,因此需要更新该令牌的存续时间,即将存续时间修改为完整的存续时间。示例性的,完整的存续时间为10min,在更新前,令牌的存续时间剩余4min,在本步骤中,将该令牌的存续时间更新为10min。
步骤S140,根据所述待打印试题特征信息和所述客户端标识,判断所述客户端是否具有打印权限。
具体地,为了避免用户之间打印试题的泄露,需要判断客户端是否有对待打印试题的打印权限。这里,在经过用户授权后,服务器可以建立每个客户端的试题库,并通过客户端标识作为该客户端试题库的唯一标识。在试题库中可以包括多个维度的试题集,维度的划分可以与客户端上选择打印试题时的可选择维度相匹配,例如,付费试题集、错题集、科目集、预设时间段内试题集(预设时间可以按月、周划分,可以是错题集,也可以是做过的试题集)等。
当待打印试题特征信息为打印试题的唯一标识时,根据客户端标识确定对应的试题库,在试题库中查找是否有与打印试题唯一标识对应的试题。若存在,说明具有打印权限,若不存在,说明没有打印权限。
当待打印试题特征信息为待打印试题的各维度特征的集合,首先确定特征信息包括的若干目标维度,从而确定与目标维度匹配的各试题集;其次,取各试题集的交集,确定交集中是否包括试题;若包括试题,则说明具有打印权限,若不包括试题,说明没有打印权限。
进一步地,若客户端具有打印权限,则执行步骤S150;若不具有打印权限,则向客户端返回无操作权限的消息。
步骤S150,向打印机发送所述待打印试题以及打印样式指令,所述打印样式指令用于指示所述打印机打印所述待打印试题的纸张类型。
为了能够快速生成试题集,在本步骤中,不同的待打印试题可以采用不同的纸张类型进行打印。例如,对于打印完整的试题集,可以直接采用标准纸张打印,便于封订成册;而对于针对性的打印错题,由于题与题之间独立性比较强,且错题的重点在于统一手机,因此可以采用贴纸进行打印,便于粘贴在预先准备的错题本中。进一步地,该错题本可以如图3所示,预先在每页划分好每个错题的粘贴区域和思考区域,打印完成后,只需要把错题贴纸粘贴到对应的位置即可,同时可以在思考区域写下用户对错题的思考和感悟,快捷方便的生成自己的个性化错题集。可选地,粘贴区域的大小不尽相同,可以根据错题贴纸的尺寸选择合适的粘贴区域。
在发明实施例的方案中,一方面为令牌机制加入了时间限制,提高了打印数据的安全;另一方面,用户可以选择自己需要打印的试题,并通过适合的纸张类型快捷方便的生成个性化的试题集;此外,本方案采用了权限设置,避免了用户间试题信息的泄露。
如何对错题进行整理和复习一直是困扰用户的一大难题,在下面的实施例中,主要从错题打印的场景进行具体实施方式的介绍。
所述打印试题特征信息包括打印试题对应的多维度特征信息,所述维度至少包括主体维度;所述根据所述待打印试题特征信息和所述客户端标识,判断所述客户端是否具有打印权限,包括:
根据所述客户端标识确定打印身份;对所述待打印试题特征信息进行分析,得到待打印试题主体维度的主体标识;基于预先设置的各打印身份对应的可打印主体标识列表,确定所述打印身份与所述待打印试题主体维度的主体标识是否匹配;根据匹配结果判断所述客户端是否具有打印权限。
具体地,打印身份包括学生身份和老师身份,学生身份的打印权限为打印自己的错题,而老师身份的打印权限为打印其所教学的所有学生的错题。用户在客户端首次注册时,需要对其身份进行认证,认证完成后,服务器即存储客户端标识对应的打印身份。主体维度指的是待打印试题对应的所有者维度,主体包括班级里任何一名或多名学生。进一步地,可以预先设置的各打印身份对应的可打印主体列表,老师身份对应的可打印主体列表由班级里所有学生的标识信息组成,学生身份对应的可打印主体列表由其自己的标识信息组成,该标识信息用于唯一标识学生,可以是名字也可以是学号。
在本实施方式中,在根据客户端标识确定了打印身份后,对待打印试题特征信息进行分析,得到其中主体维度的主体标识;然后,查找打印身份对应的可打印主体标识列表中是否包括该主体标识;如果包括,则判断客户端具有打印权限;如果不包括,则判断客户端不具有打印权限。
进一步地,所述维度还包括时间维度和科目维度;所述方法还包括:
响应于客户端发送的错题信号,获取所述错题信号对应的试题;记录所述错题信号生成的时间和所述试题的科目,将所述试题与所述时间、所述科目关联存储在所述客户端标识对应的试题库中。
用户在客户端做题时,每完成一道试题,客户端会进行试题答案对错的判断。若确定试题答案是错误的,则向服务器发送错题信号,服务器根据该错题信号获取对应的试题,并记录错题的时间和该试题所属科目,一并关联存储在所述客户端标识对应的试题库中。
进一步地,维度还可以包括付费维度、作答时间维度等等,本发明在此不做限定。
需要说明的是,每个客户端标识对应自己的试题库中,试题库中至少存储有每道错题以及错题对应的时间和所属的科目。这样,当客户端基于时间维度和科目维度选择想要打印的待打印试题后,服务端从待打印试题的特征信息中分析得到时间维度的时间标识以及科目维度的科目标识,通过上述两个维度的标识,在试题库中即能确定待打印的试题,发送至打印机。
进一步地,所述向打印机发送所述待打印试题以及打印样式指令之前,所述方法还包括:
若所述打印身份为学生,生成贴纸打印样式指令,并在所述客户端标识对应的试题库中,获取所述待打印试题特征信息对应的待打印试题;
若所述打印身份为老师,生成标准纸张打印样式指令,并根据所述待打印试题特征信息中的主体标识信息确定至少一个目标客户端标识,在所述目标客户端标识对应的试题库中获取所述待打印试题特征信息对应的待打印试题,其中,主体标识与客户端标识存在一一对应关系。
具体地,如上所述,若确定打印身份是学生,那么贴纸打印样式更适合高效便捷的贴在错题本上,因此生成贴纸打印样式指令。在此基础上,由于学生身份对应的主体标识列表只包括自己,因此只需要在其客户端标识对应的试题库中,根据解析得到的各个维度的特征信息,查找到匹配的待打印试题。
若打印身份是老师,打印错题的出发点更多的是想整体了解某个同学或某些同学对科目的掌握程度,此时更适合通过标准纸张展现错题,因此生成标准纸张打印样式指令。具体地,老师在客户端上可以选择打印A、B、C一周内数学科目的错题,也可以选择打印全班一周内数学科目的错题。相应地,待打印试题特征信息即包括主体维度的主体标识A、B、C或全班各同学对应的主体标识,时间维度的一周内,科目维度的数学。在分析得到待打印试题特征信息中的主体标识后,根据预先建立的主体标识(A、B、C或全班各同学对应的主体标识)与客户端标识的一一对应关系,确定多个目标客户端标识。这里需要说明的是,在客户端注册时,除了进行身份认证,也会关联用户的主体标识与客户端标识之间的一一对应关系。根据上述方案在每个目标客户端标识对应的试题库中,根据解析得到的时间维度的一周内,科目维度的数学,查找到匹配的待打印试题。
进一步地,若所述主体标识包括多个,在所述目标客户端标识对应的试题库中获取所述待打印试题特征信息对应的待打印试题,包括:
分别在各所述目标客户端标识对应的试题库中获取所述待打印试题特征信息对应的候选待打印试题;对所述候选待打印试题进行去重,并根据各候选待打印试题的重复数量生成标签信息,得到待打印试题。
具体地,不同学生的错题有可能是重复的,因此分别在每个目标客户端标识对应的试题库中查找得到的候选待打印试题进行汇总后,会存在重复的候选待打印视频,因此需要对重复的候选待打印视频进行去重,同时根据各候选待打印试题的重复数量生成标签信息,该标签信息用于表征该候选待打印试题的答错程度。例如,10个试题库中匹配到8个候选待打印试题A,则可以生成标签信息“80%同学答错”;候选待打印试题B的重复数量最高,可以生成标签信息“错题率TOP1”等等。进一步地,去重后得到的待打印试题可以以重复数量的多少进行优先级排序,得到待打印试题队列,发送至打印机进行打印。
在本实施例中,一方面为令牌机制加入了时间限制,提高了打印数据的安全;另一方面,用户可以选择自己需要打印的试题,并通过适合的纸张类型快捷方便的生成个性化的试题集;此外,本方案采用了权限设置,避免了用户间试题信息的泄露。
在一个实施例中,参考图4所示,提供了一种试题的认证打印装置的结构示意图。该装置可用于执行图1或图2所示的试题的认证打印方法,该装置包括:接收模块410、确定模块420、更新模块430、判断模块440和发送模块450;其中,
接收模块410,被配置为接收来自客户端的打印试题请求,所述打印试题请求包括待打印试题特征信息和所述客户端的令牌;确定模块420,被配置为确定是否存在所述令牌;其中,令牌设置有存续时间,超过存续时间后令牌自动清空;更新模块430,被配置为响应于存在所述令牌,更新所述令牌的存续时间;判断模块440,被配置为根据所述待打印试题特征信息和所述客户端的客户端标识,判断所述客户端是否具有打印权限;发送模块450,被配置为若所述客户端具有打印权限,向打印机发送所述待打印试题以及打印样式指令,所述打印样式指令用于指示所述打印机打印所述待打印试题的纸张类型。
进一步地,所述待打印试题特征信息包括多个维度的特征信息,所述维度至少包括主体维度;
所述判断模块440,进一步被配置为根据所述客户端标识确定打印身份;对所述待打印试题特征信息进行分析,得到待打印试题主体维度的主体标识;基于预先设置的各打印身份对应的可打印主体标识列表,确定所述打印身份与所述待打印试题主体维度的主体标识是否匹配;根据匹配结果判断所述客户端是否具有打印权限。
进一步地,所述维度还包括时间维度和科目维度;所述装置还包括:
获取模块,被配置为响应于客户端发送的错题信号,获取所述错题信号对应的试题;记录模块,被配置为记录所述错题信号生成的时间和所述试题的科目,将所述试题与所述时间、所述科目关联存储在所述客户端标识对应的试题库中。
进一步地,所述装置还包括生成模块,所述生成模块被配置为,若所述打印身份为学生,生成贴纸打印样式指令,并在所述客户端标识对应的试题库中,获取所述待打印试题特征信息对应的待打印试题;若所述打印身份为老师,生成标准纸张打印样式指令,并根据所述待打印试题特征信息中的主体标识确定至少一个目标客户端标识,在所述目标客户端标识对应的试题库中获取所述待打印试题特征信息对应的待打印试题,其中,主体标识与客户端标识存在一一对应关系。
进一步地,若所述主体标识包括多个,所述生成模块被配置为,分别在各所述目标客户端标识对应的试题库中获取所述待打印试题特征信息对应的候选待打印试题;对所述候选待打印试题进行去重,并根据各候选待打印试题的重复数量生成标签信息,得到待打印试题。
进一步地,所述接收模块410被配置为,接收来自所述客户端的登录请求,所述登录请求包括所述客户端标识、用户名和密码;对所述客户端标识、用户名和所述密码进行匹配性验证;若验证通过,生成所述客户端的令牌以及所述令牌的存续时间。
进一步地,确定模块420被配置为,响应于不存在所述令牌,生成重新登录指令并发送至客户端。
需要说明的是,本发明实施例所提供的试题的认证打印装置对应的可用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本发明实施例中的一种电子设备的结构示意图。下面具体参考图5,其示出了适于用来实现本发明实施例中的电子设备500的结构示意图。本发明实施例中的电子设备500可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴电子设备等等的移动终端以及诸如数字TV、台式计算机、智能家居设备等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理以实现如本发明所述的实施例的方法。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码,从而实现如上所述的方法。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM502被安装。在该计算机程序被处理装置501执行时,执行本发明实施例的方法中限定的上述功能。
需要说明的是,本发明上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,终端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
接收来自客户端的打印试题请求,所述打印试题请求包括待打印试题特征信息和所述客户端的令牌;确定是否存在所述令牌;其中,令牌设置有存续时间,超过存续时间后令牌自动清空;响应于存在所述令牌,更新所述令牌的存续时间;根据所述待打印试题特征信息和所述客户端的客户端标识,判断所述客户端是否具有打印权限;若所述客户端具有打印权限,向打印机发送所述待打印试题以及打印样式指令,所述打印样式指令用于指示所述打印机打印所述待打印试题的纸张类型。
可选地,当上述一个或者多个程序被该电子设备执行时,该电子设备还可以执行上述实施例所述的其他步骤。
附图中的流程图和框图,图示了按照本发明各种实施例的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,依照所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。