本发明实施例涉及计算机技术领域,尤其涉及基于身份证件读取的业务系统和业务实现方法。
背景技术:
基于身份证件读取的业务系统的应用场景非常丰富。人证合一验证系统就是一种基于身份证件读取的业务系统,例如酒店、火车站、客运站、快递点、公安机关、考场等都会使用基于身份证件读取的业务系统。
基于身份证件读取的业务系统的常用核心功能包括身份证信息读取、人脸采集与比对、信息上传和广告点播,但不限于上述功能。基于身份证件读取的业务系统的每一功能,通过业务系统中的一个模块实现。但行业繁杂,不同场景需求差异大,有的场景需要某个模块,另一个场景却不需要该模块,而且不同场景需要上传的数据格式也不一样。因此,现有业务系统包括的模块不同,导致进行程序设计以调用各模块实现相应的功能时,是为不同的客户建立不同的代码分支,或者在业务流程中使用大量ifelse流程控制语句。但当模块数、数据格式以及上传方式很多时,排列组合之后,代码分支将成倍数增加,修改困难,扩展难度大,维护成本增加,程序的可读性变得越来越差,代码膨胀且可测试性极差。因此,现有基于身份证件读取的业务系统的可扩展性很差。
技术实现要素:
针对现有技术存在的可扩展性差的问题,本发明实施例提供基于身份证件读取的业务系统和业务实现方法。
根据本发明的第一方面,本发明实施例提供一种基于身份证件读取的业务系统,包括:业务模块、身份证件读取模块和至少一个功能模块;
所述业务模块,用于向所述身份证件读取模块发送指令,接收所述身份证件读取模块返回的结果,以及以预设的顺序向每一功能模块发送指令和该功能模块对应的信息,接收该功能模块返回的结果;
所述身份证件读取模块,用于接收所述业务模块发送的指令,读取身份证件以获得身份信息,并向所述业务模块返回所述身份信息;
功能模块,用于接收所述业务模块发送的指令和所述对应的信息,获取自身对应的配置参数,根据所述对应的配置参数执行相应的操作并向所述业务模块返回该操作对应的结果。
根据本发明的第二方面,本发明实施例提供一种应用于上述基于身份证件读取的业务系统的业务实现方法,包括:
向身份证件读取模块发送指令,以使得所述身份证件读取模块读取身份证件以获得身份信息,并返回所述身份信息;
以预设的顺序向每一功能模块发送指令和该功能模块对应的信息,以使得该功能模块接收指令和所述对应的信息,获取自身对应的配置参数,根据所述对应的配置参数执行相应的操作并返回该操作对应的结果。
根据本发明的第三方面,本发明实施例提供一种应用于上述基于身份证件读取的业务系统的业务实现方法,包括:
接收业务模块发送的指令和对应的信息,获取自身对应的配置参数;
根据所述对应的配置参数执行相应的操作并向所述业务模块返回该操作对应的结果。
根据本发明的第四方面,本发明实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行本发明实施例的业务实现方法及其所有可选实施例的方法。
根据本发明的第五方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本发明实施例的业务实现方法及其所有可选实施例的方法。
本发明实施例提供的基于身份证件读取的业务系统和业务实现方法,通过垂直的业务逻辑实现各功能,各功能模块只关心自身对应的配置参数,不与其他功能模块发生交互,只和业务模块发生交互,能大大降低各模块之间耦合性,系统的可扩展性强。进一步地,简化了业务逻辑,从而减少了用于实现系统功能的程序代码的分支,使得用于实现系统功能的程序代码便于修改和维护,能增加程序的可读性和可测试性,降低开发和维护成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例基于身份证件读取的业务系统的功能框图;
图2为本发明实施例业务实现方法的流程图;
图3为本发明实施例业务实现方法的流程图;
图4为本发明实施例基于身份证件读取的业务系统的功能框图;
图5为本发明实施例基于身份证件读取的业务系统的信令交互图;
图6为本发明实施例电子设备的结构框图;
图7为本发明实施例电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了克服现有技术的上述问题,本发明实施例提供一种基于身份证件读取的业务系统,其发明构思是,将基于身份证件读取的业务系统的每一功能,通过业务系统中的一个独立的功能模块或身份证件读取模块完成,各模块内部流程具有自限性,默认业务系统包括全部功能模块;业务系统工作时,采用垂直方式,通过一个业务模块使用桥接模式调用功能模块或身份证件读取模块的接口,按照功能的逻辑顺序调用各功能模块,被调用的功能模块自动完成工作并向业务模块返回结果;通过统一的参数对各功能模块进行配置参数,若对应的配置参数为不需要某个功能模块,该功能模块内部直接返回空操作对应的结果,若对应的配置参数为需要某个功能模块,则该功能模块进行实现相应功能的操作并返回操作结果。通过上述过程,能减化业务逻辑。在功能模块不变的情况下,主业务逻辑无需修改;当有新的功能需求时,增加相应的功能模块即可,可扩展性高;将业务模块作为桥梁,功能模块之间生命周期无重叠,能降低系统中各模块之间耦合性,大大提高可测试性,降低维护成本。
图1为本发明实施例基于身份证件读取的业务系统的功能框图。如图1所示,一种基于身份证件读取的业务系统包括:业务模块101、身份证件读取模块102和至少一个功能模块103。
业务模块101分别与身份证件读取模块102、各功能模块103电连接。身份证件读取模块102与各功能模块103之间都不存在连接关系,任意两个功能模块103之间也不存在连接关系。
业务模块101,用于向身份证件读取模块102发送指令,接收身份证件读取模块102返回的结果,以及以预设的顺序向每一功能模块103发送指令和该功能模块103对应的信息,接收该功能模块103返回的结果。
业务模块101,用于发送指令,以及接收身份证件读取模块102和功能模块103返回的结果。
业务模块101向身份证件读取模块102发送的指令,用于调用身份证件读取模块102的接口,触发身份证件读取模块102工作。
业务模块101向每一功能模块103发送指令,用于调用该功能模块103的接口,触发该功能模块103工作。
由于部分功能模块103之间存在业务逻辑上的先后顺序,部分功能模块103之间不存在业务逻辑上的先后顺序,因此,预设的顺序与业务逻辑有关,业务逻辑在先的功能模块103在预设的顺序中靠前,业务逻辑在后的功能模块103在预设的顺序中靠后,与其他功能模块103不存在业务逻辑顺序的功能模块103在预设的顺序中可以任意设置。
例如,人证合一业务中需要上传人脸比对结果,业务逻辑上人脸比对在先而上传人脸比对结果在后,因此,业务模块101先向用于实现人脸比对的功能模块发送指令,接收用于实现人脸比对的功能模块返回的结果,后向用于实现人脸比对结果上传的功能模块发送指令,接收用于实现人脸比对结果上传的功能模块返回的结果。
按照预设的顺序,业务模块101接收上一功能模块103返回的结果后,再向下一功能模块103发送指令。
身份证件读取模块102,用于接收业务模块101发送的指令,读取身份证件以获得身份信息,并向业务模块101返回身份信息。
身份证件读取模块102接收业务模块101发送的指令后,执行读取身份证件的操作,获取身份证件携带的身份信息;获得身份证件携带的身份信息后,将获得的身份信息发送至业务模块101。
身份证件包括身份证、单位的工卡等。身份证件,携带了身份证件的合法持有人的身份信息。
获取的身份信息,包括持有人的照片,还可以包括合法持有人的姓名、身份证号、性别、地址、工号、部门等信息中的至少一种。
功能模块103,用于接收业务模块101发送的指令和对应的信息,获取自身对应的配置参数,根据对应的配置参数执行相应的操作并向业务模块101返回该操作对应的结果。
功能模块103接收业务模块101发送的指令和对应的信息后,获取自身对应的配置参数。
配置参数包括需要和不需要。
若对应的配置参数为不需要,相应的操作为空操作,该功能模块103执行空操作,并向业务模块101发送空操作对应的结果;
若对应的配置参数为需要,相应的操作为实现相应功能的操作,该功能模块103执行该操作,并向业务模块101发送该操作的结果。
本发明实施例通过垂直的业务逻辑实现各功能,各功能模块只关心自身对应的配置参数,不与其他功能模块发生交互,只和业务模块发生交互,能大大降低各模块之间耦合性,系统的可扩展性强。进一步地,简化了业务逻辑,从而减少了用于实现系统功能的程序代码的分支,使得用于实现系统功能的程序代码便于修改和维护,能增加程序的可读性和可测试性,降低开发和维护成本。
基于上述实施例的内容,至少一个功能模块包括人脸采集比对模块;相应地,人脸采集比对模块对应的信息,为身份信息;人脸采集比对模块,用于接收业务模块发送的指令,获取自身对应的配置参数,若对应的配置参数为需要,则采集人脸信息,根据采集的人脸信息和身份信息进行人脸比对,向业务模块返回人脸比对结果;若对应的配置参数为不需要,则直接向业务模块返回空结果。
具体地,至少一个功能模块包括人脸采集比对模块。人脸采集比对模块的主要功能为采集的人脸信息,并将采集的人脸信息与身份证件携带的身份信息中的持有人照片进行比对,获得人脸比对结果。
相应地,人脸采集比对模块对应的信息,为身份证件读取模块采集的身份信息。
人脸采集比对模块接收业务模块发送的指令和身份信息后,获取人脸采集比对模块对应的配置参数。
当对应的配置参数为需要时,人脸采集比对模块执行如下操作:
检测人脸并采集检测到的人脸信息,将采集的人脸信息与身份证件携带的身份信息中的持有人照片进行比对,获得人脸比对结果;
获得人脸比对结果后,将人脸比对结果发送至业务模块。
当对应的配置参数为不需要时,人脸采集比对模块执行空操作,直接向业务模块发送空结果,通知业务模块人脸采集比对已完成。
通过人脸采集比,可以进行人证合一验证,确定身份证件的当前持证人与身份证件的合法持有人是否为同一人。
基于上述实施例的内容,至少一个功能模块包括信息上传模块;相应地,信息上传模块对应的信息,为身份信息;信息上传模块,用于接收业务模块发送的指令和身份信息,获取自身对应的配置参数,若对应的配置参数为需要,则将身份信息上传至指定的服务器,向业务模块返回上传结果;若对应的配置参数为不需要,则向业务模块返回空结果。
具体地,至少一个功能模块包括信息上传模块。信息上传模块的主要功能为将业务模块发送的信息上传模块对应的信息进行上传。
需要说明的是,本发明实施例适用于业务系统不包括人脸采集比对模块的情况。
相应地,信息上传模块对应的信息,为身份证件读取模块采集的身份信息。
信息上传模块接收业务模块发送的指令和身份信息后,获取信息上传模块对应的配置参数。
当对应的配置参数为需要时,信息上传模块执行如下操作:
根据预设的上传方式和数据格式,将身份信息上传至指定的服务器,并将信息上传结果发送至业务模块。
当身份信息成功上传至指定的服务器上传时,信息上传结果为上传成功;当身份信息未能上传至指定的服务器上传时,信息上传结果为上传失败或上传超时。
当对应的配置参数为不需要时,信息上传模块执行空操作,直接向业务模块发送空结果,通知业务模块信息上传已完成。
上传方式至少包括:通过http上传至网络服务器和通过hid上传到计算机。
采用通过hid上传到计算机的上传方式时,为了提高hid通信的稳定性,可以采用心跳机制;为了便于进行大数据量的通信,通过多包发送协议进行多包传输,以上传信息上传模块对应的信息。
基于上述实施例的内容,至少一个功能模块还包括信息上传模块;相应地,信息上传模块对应的信息,为身份信息和人脸比对结果;信息上传模块,用于接收业务模块发送的指令、身份信息和人脸比对结果,获取自身对应的配置参数,若对应的配置参数为需要,则将身份信息和人脸比对结果上传至指定的服务器,向业务模块返回上传结果;若对应的配置参数为不需要,则向业务模块返回空结果。
具体地,至少一个功能模块包括信息上传模块。信息上传模块的主要功能为将业务模块发送的信息上传模块对应的信息进行上传。
需要说明的是,本发明实施例适用于业务系统包括人脸采集比对模块的情况。
本发明实例中,信息上传模块的工作过程,与上述业务系统不包括人脸采集比对模块的实施例中,信息上传模块的工作过程类似,此处不再赘述。区别在于,本发明实施例中信息上传模块对应的信息,为身份证件读取模块采集的身份信息和人脸采集比对模块获取的人脸比对结果;当对应的配置参数为需要时,信息上传模块将身份信息和人脸比对结果上传至指定的服务器。
可以理解的是,当人脸采集比对模块对应的配置参数为需要时,信息上传模块对应的信息中人脸采集比对模块获取的人脸比对结果,为比对后获得的人脸比对结果;当人脸采集比对模块对应的配置参数为不需要时,信息上传模块对应的信息中人脸采集比对模块获取的人脸比对结果,为空结果。
基于上述实施例的内容,至少一个功能模块包括广告点播模块;相应地,广告点播模块对应的信息,为身份信息对应的点播广告;广告点播模块,用于接收业务模块发送的指令和点播广告,获取自身对应的配置参数,若对应的配置参数为需要,则播放点播广告,并向业务模块返回播放结束的结果;若对应的配置参数为不需要,则向业务模块返回播放结束的结果。
具体地,至少一个功能模块包括广告点播模块。广告点播模块的主要功能为播放点播广告。
相应地,广告点播模块对应的信息,为身份信息对应的点播广告。
广告点播模块接收业务模块发送的指令和身份信息对应的点播广告后,获取广告点播模块对应的配置参数。
当对应的配置参数为需要时,广告点播模块执行如下操作:
播放身份信息对应的点播广告;
点播广告播放结束后,向业务模块发送播放结束的结果。
优选地,广告播放由独立的应用程序(application,简称app)执行。广告点播模块startactivity方式启动广告播放应用程序。播放完成后,广告播放应用程序可以以广播形式通知业务模块播放结束。
当对应的配置参数为不需要时,信息上传模块执行空操作,直接向业务模块发送空结果,通知业务模块广告点播已完成。
图2为本发明实施例业务实现方法的流程图。如图2所示,一种应用于上述基于身份证件读取的业务系统的业务实现方法,包括:步骤s201、向身份证件读取模块发送指令,以使得身份证件读取模块读取身份证件以获得身份信息,并返回身份信息;步骤s202、以预设的顺序向每一功能模块发送指令和该功能模块对应的信息,以使得该功能模块接收指令和对应的信息,获取自身对应的配置参数,根据对应的配置参数执行相应的操作并返回该操作对应的结果。
需要说明的是,本发明实施例提供的业务实现方法的执行主体为业务模块。
本发明实施例提供的业务实现方法,应用于上述基于身份证件读取的业务系统。业务实现方法的执行过程,参见上述基于身份证件读取的业务系统的实施例,此处不再赘述。
本发明实施例通过垂直的业务逻辑实现各功能,各功能模块只关心自身对应的配置参数,不与其他功能模块发生交互,只和业务模块发生交互,能大大降低各模块之间耦合性,系统的可扩展性强。进一步地,简化了业务逻辑,从而减少了用于实现系统功能的程序代码的分支,使得用于实现系统功能的程序代码便于修改和维护,能增加程序的可读性和可测试性,降低开发和维护成本。
图3为本发明实施例业务实现方法的流程图。如图3所示,一种应用于上述基于身份证件读取的业务系统的业务实现方法,包括:步骤s301、接收业务模块发送的指令和对应的信息,获取自身对应的配置参数;步骤s302、根据对应的配置参数执行相应的操作并向业务模块返回该操作对应的结果。
需要说明的是,本发明实施例提供的业务实现方法的执行主体为功能模块。
本发明实施例提供的业务实现方法,应用于上述基于身份证件读取的业务系统。业务实现方法的执行过程,参见上述基于身份证件读取的业务系统的实施例,此处不再赘述。
为了便于理解本发明提供的基于身份证件读取的业务系统和应用于该业务系统的业务实现方法,下面通过一个实例说明基于身份证件读取的业务系统的工作过程。
图4为本发明实施例基于身份证件读取的业务系统的功能框图。如图4所示,基于身份证件读取的业务系统包括:业务模块401、身份证件读取模块402和三个功能模块。三个功能模块分别为:人脸采集比对模块403、信息上传模块404和广告点播模块405。
业务模块401分别与身份证件读取模块102、人脸采集比对模块403、信息上传模块404和广告点播模块405电连接。身份证件读取模块102、人脸采集比对模块403、信息上传模块404和广告点播模块405两两之间均不存在连接关系。
图5为本发明实施例基于身份证件读取的业务系统的信令交互图。
预设的顺序为:人脸采集比对模块403→信息上传模块404→广告点播模块405。
如图5所示,基于身份证件读取的业务系统的工作过程,即业务实现过程如下:
业务模块401向身份证件读取模块402发送指令;
身份证件读取模块402接收业务模块401发送的指令后,执行读取身份证件的操作,获取身份证件携带的身份信息,将获得的身份信息发送至业务模块401;读取身份证件,也称读卡;获得的身份信息,即读卡信息;
业务模块401接收身份信息后,向人脸采集比对模块403发送指令和身份信息;
人脸采集比对模块403接收业务模块401发送的指令和身份信息后,获取人脸采集比对模块403对应的配置参数;若对应的配置参数为需要,则采集人脸信息,根据采集的人脸信息和身份信息进行人脸比对,向业务模块401返回人脸比对结果;若对应的配置参数为不需要,则直接向业务模块401返回空结果;
业务模块401接收人脸采集比对模块403返回的结果后,向信息上传模块404发送的指令、身份信息和人脸比对结果;人脸比对结果,也称人脸比对信息;
信息上传模块404接收业务模块401发送的指令、身份信息和人脸比对结果后,获取信息上传模块404对应的配置参数;若对应的配置参数为需要,则将身份信息和人脸比对结果上传至指定的服务器,向业务模块返回上传结果;若对应的配置参数为不需要,则向业务模块返回空结果;
业务模块401接收信息上传模块404返回的结果后,向广告点播模块405发送指令和身份信息对应的点播广告;身份信息对应的点播广告,即点播内容;
广告点播模块405接收业务模块401发送的指令和身份信息对应的点播广告后,获取广告点播模块405对应的配置参数;若对应的配置参数为需要,则播放点播广告,并向业务模块返回播放结束的结果;若对应的配置参数为不需要,则向业务模块返回播放结束的结果。
业务模块401接收广告点播模块405返回的结果后,向身份证件读取模块402发送指令,开始新一轮的业务实现过程。
图6为本发明实施例电子设备的结构框图。基于上述实施例的内容,如图6所示,一种电子设备包括:处理器(processor)601、存储器(memory)602和总线603;其中,处理器601和存储器602通过总线603完成相互间的通信;处理器601用于调用存储器602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:业务实现方法;向身份证件读取模块发送指令,接收身份证件读取模块返回的结果的方法;以预设的顺序向每一功能模块发送指令和该功能模块对应的信息,接收该功能模块返回的结果的方法等。
本发明另一实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:业务实现方法;向身份证件读取模块发送指令,接收身份证件读取模块返回的结果的方法;以预设的顺序向每一功能模块发送指令和该功能模块对应的信息,接收该功能模块返回的结果的方法等。
本发明另一实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:业务实现方法;向身份证件读取模块发送指令,接收身份证件读取模块返回的结果的方法;以预设的顺序向每一功能模块发送指令和该功能模块对应的信息,接收该功能模块返回的结果的方法等。
图7为本发明实施例电子设备的结构框图。基于上述实施例的内容,如图7所示,一种电子设备包括:处理器(processor)701、存储器(memory)702和总线703;其中,处理器701和存储器702通过总线703完成相互间的通信;处理器701用于调用存储器702中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:业务实现方法;接收业务模块发送的指令和对应的信息,获取自身对应的配置参数,根据配置参数执行相应的操作并向业务模块返回该操作对应的结果的方法;根据配置参数进行人脸采集比对,返回人脸采集比对结果或不进行人脸采集比对,直接返回空结果的方法;根据配置参数进行信息上传,返回信息上传结果或不进行信息上传,直接返回空结果的方法;根据配置参数播放点播广告,返回播放结束的结果或不播放点播广告,直接返回空结果的方法等。
本发明另一实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:业务实现方法;接收业务模块发送的指令和对应的信息,获取自身对应的配置参数,根据配置参数执行相应的操作并向业务模块返回该操作对应的结果的方法;根据配置参数进行人脸采集比对,返回人脸采集比对结果或不进行人脸采集比对,直接返回空结果的方法;根据配置参数进行信息上传,返回信息上传结果或不进行信息上传,直接返回空结果的方法;根据配置参数播放点播广告,返回播放结束的结果或不播放点播广告,直接返回空结果的方法等。
本发明另一实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:业务实现方法;接收业务模块发送的指令和对应的信息,获取自身对应的配置参数,根据配置参数执行相应的操作并向业务模块返回该操作对应的结果的方法;根据配置参数进行人脸采集比对,返回人脸采集比对结果或不进行人脸采集比对,直接返回空结果的方法;根据配置参数进行信息上传,返回信息上传结果或不进行信息上传,直接返回空结果的方法;根据配置参数播放点播广告,返回播放结束的结果或不播放点播广告,直接返回空结果的方法等。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行上述各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。