一种调用python鼻纹算法的方法及装置制造方法及图纸

技术编号:27974577 阅读:28 留言:0更新日期:2021-04-06 14:08
本发明专利技术涉及算法领域,具体涉及一种调用python鼻纹算法的方法及装置。首先,算法端和业务端确定通信协议格式;然后,算法端搭建ZMQ远程服务回应端,并提前初始化模型,等待业务端调用;最后,业务端搭建ZMQ请求端,调用回应端服务,获取算法处理结果。该方法及装置不需要将鼻纹算法翻译成c语言,节省开发人力,提高开发效率,缩短开发时间。

【技术实现步骤摘要】
一种调用python鼻纹算法的方法及装置
本专利技术涉及算法领域,具体而言,涉及一种调用python鼻纹算法的方法及装置。
技术介绍
目前算法研究人员已经通过tensorflow将大量的鼻纹图片训练成python支持的鼻纹算法模型,鼻纹算法模型调用时需要初始化模型,同时业务平台也已经开发完成,业务平台使用java语言开发,为了将鼻纹算法模型集成到业务平台,则需要打通java和python之间的调用通道。ZeroMQ(简称ZMQ)是一个基于消息队列的多线程网络库,其对套接字类型、连接处理、帧、甚至路由的底层细节进行抽象,提供跨越多种传输协议的套接字。ZMQ有四种消息模型:一对一结对模型、请求回应模型、发布订阅模型、推拉模型,为了远程调用服务,选择请求回应模型,该模型由请求端发起,然后等待回应端应答,一个请求必须对应一个回应。算法端做回应端,业务端用做请求端,双端都是单独的服务,通过ZMQ调用。现主流调用python算法是将python算法翻译成c语言,然后业务平台调用c语言算法,这种方法代码耦合度较高,需要投入额外的算法开发人员,并且有些算法模型是无法翻译成c语言。
技术实现思路
本专利技术实施例提供了一种调用python鼻纹算法的方法及装置,以至少解决现有调用python算法时需要投入额外的算法开发人员的技术问题。根据本专利技术的一实施例,提供了一种调用python鼻纹算法的方法,包括以下步骤:算法端和业务端确定通信协议格式;算法端搭建ZMQ远程服务回应端,并提前初始化模型,等待业务端调用;业务端搭建ZMQ请求端,调用回应端服务,获取算法处理结果。进一步地,算法端和业务端确定通信协议格式包括:搭建算法端服务和业务端服务,使用JSON当作通信协议;JSON为一种轻量级的数据交换格式,是基于JavaScript的一个子集;JSON采用完全独立于语言的文本格式。进一步地,JSON的格式为:code值为200时表示算法处理成功,code为201时表示算法处理异常,此时message为具体的异常信息。进一步地,算法端服务设置开启ZMQ通信,并使用ZMQ的REQ-REP模式进行初始化算法模型,ZMQ的REQ-REP模式为阻塞式,阻塞式ZMQ的REQ-REP模式为要client先发送一条消息给server,然后server才返回一个response给client,任何顺序上的错误都会导致报错。进一步地,Python算法服务端相关步骤如下:A、创建context和socket,并接到一个地址context=zmq.Context(1)socket=context.socket(zmq.REP)socket.setsockopt(zmq.SNDTIMEO,3000)socket.bind(“tcp://localhost:8091”)B、初始化算法模型database_path=“feature_list.csv”pb_path=“nose.pb”dg=noseRecognizer(pb_path=pb_path,database_path=database_path)C、开启服务t=threading.Thread(target=W,args=(socket))t.start()。进一步地,业务端搭建ZMQ请求端,调用回应端服务,获取算法处理结果包括:业务端搭建ZMQ请求端,并通过特定的消息格式请求ZMQ回应端。进一步地,业务端相关步骤如下:A、创建context和socket,并接到一个地址ZMQ.Contextcontext=ZMQ.context(1);ZMQ.Socketsocket=context.socket(ZMQ.REQ);socket.setReceiveTimeOut(30000);socket.setSendTimeOut(3000);socket.setReqCorrelate(true);socket.setReqRelaxed(true);socket.connect(“tcp://localhost:8091”);B、发送特定消息至算法服务端并接受算法处理结果Stringmsg=“{“type”:1,“data”:“”}”;socket.send(msg);Stringreply=socket.recvStr()。根据本专利技术的另一实施例,提供了一种调用python鼻纹算法的装置,包括:算法端和业务端,其中算法端和业务端确定通信协议格式后,算法端搭建ZMQ远程服务回应端,并提前初始化模型,等待业务端调用,业务端搭建ZMQ请求端,调用回应端服务,获取算法处理结果。一种存储介质,存储介质存储有能够实现上述任意一项调用python鼻纹算法的方法的程序文件。一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的调用python鼻纹算法的方法。本专利技术实施例中的调用python鼻纹算法的方法及装置,首先,算法端和业务端确定通信协议格式;然后,算法端搭建ZMQ远程服务回应端,并提前初始化模型,等待业务端调用;最后,业务端搭建ZMQ请求端,调用回应端服务,获取算法处理结果。该方法及装置不需要将鼻纹算法翻译成c语言,节省开发人力,提高开发效率,缩短开发时间。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术调用python鼻纹算法的方法的流程图;图2为本专利技术调用python鼻纹算法的方法中ZMQ一对一场景调用逻辑图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。实施例1根据本专利技术一实施例,提供了一种本文档来自技高网
...

【技术保护点】
1.一种调用python鼻纹算法的方法,其特征在于,包括以下步骤:/n算法端和业务端确定通信协议格式;/n算法端搭建ZMQ远程服务回应端,并提前初始化模型,等待业务端调用;/n业务端搭建ZMQ请求端,调用回应端服务,获取算法处理结果。/n

【技术特征摘要】
1.一种调用python鼻纹算法的方法,其特征在于,包括以下步骤:
算法端和业务端确定通信协议格式;
算法端搭建ZMQ远程服务回应端,并提前初始化模型,等待业务端调用;
业务端搭建ZMQ请求端,调用回应端服务,获取算法处理结果。


2.根据权利要求1所述的调用python鼻纹算法的方法,其特征在于,所述算法端和业务端确定通信协议格式包括:
搭建算法端服务和业务端服务,使用JSON当作通信协议;所述JSON为一种轻量级的数据交换格式,是基于JavaScript的一个子集;所述JSON采用完全独立于语言的文本格式。


3.根据权利要求2所述的调用python鼻纹算法的方法,其特征在于,所述JSON的格式为:



code值为200时表示算法处理成功,code为201时表示算法处理异常,此时message为具体的异常信息。


4.根据权利要求1所述的调用python鼻纹算法的方法,其特征在于,所述算法端服务设置开启ZMQ通信,并使用ZMQ的REQ-REP模式进行初始化算法模型,所述ZMQ的REQ-REP模式为阻塞式,阻塞式所述ZMQ的REQ-REP模式为要client先发送一条消息给server,然后server才返回一个response给client,任何顺序上的错误都会导致报错。


5.根据权利要求4所述的调用python鼻纹算法的方法,其特征在于,Python算法服务端相关步骤如下:
A、创建context和socket,并接到一个地址
context=zmq.Context(1)
socket=context.socket(zmq.REP)
socket.setsockopt(zmq.SNDTIMEO,3000)
socket.bind(“tcp://localhost:8091”)
B、初始化算法模型
database_path=“feature_list.csv”
pb_path=“nose.pb”
dg=noseRecognizer(pb_path=pb_path,database_path=datab...

【专利技术属性】
技术研发人员:喻辉
申请(专利权)人:苏州中科先进技术研究院有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1