CN111859082A - 标识解析方法及装置 - Google Patents

标识解析方法及装置 Download PDF

Info

Publication number
CN111859082A
CN111859082A CN202010460754.0A CN202010460754A CN111859082A CN 111859082 A CN111859082 A CN 111859082A CN 202010460754 A CN202010460754 A CN 202010460754A CN 111859082 A CN111859082 A CN 111859082A
Authority
CN
China
Prior art keywords
thread
terminal equipment
request
service request
thread pool
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010460754.0A
Other languages
English (en)
Inventor
李晓东
张翼
王伟
张宁宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuxi Technology (Heze) Co.,Ltd.
Shandong Fuxi think tank Internet Research Institute
Original Assignee
Fuxi Technology Heze Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuxi Technology Heze Co ltd filed Critical Fuxi Technology Heze Co ltd
Priority to CN202010460754.0A priority Critical patent/CN111859082A/zh
Publication of CN111859082A publication Critical patent/CN111859082A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Power Engineering (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明适用于通信技术领域,尤其涉及一种标识解析方法及装置,所述方法包括:通过主线程接收终端设备发送的连接请求,并根据所述连接请求与终端设备建立连接;通过主线程接收建立连接的终端设备发送的业务请求;判断第一线程池内是否存在空闲线程,若存在空闲线程,则通过所述第一线程池从所述主线程获取所述终端设备发送的业务请求;通过所述第二线程池从所述第一线程池获取所述业务请求并进行处理,获得请求处理结果;将所述请求处理结果发送给所述终端设备,上述标识解析方法通过设置的两个线程池分别对终端设备的不同请求进行处理,能够使用较少的线程处理大量终端设备的业务请求,从而减少***占用的内存,提升***的可用性。

Description

标识解析方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种标识解析方法及装置。
背景技术
Handle标识是由指定字符集的数字、字母、符号、文字等以前缀/后缀的形式组成,用来标识人、物和数据的数字对象标识,通过Handle标识解析***来对标识进行查询、注册及管理。例如,用户可以通过部署在全球各地的Handle标识注册者服务器发出请求,从而获得用户所拥有的Handle标识的前缀拥有者的服务器地址,从而连接至Handle标识解析***。
现有的Handle标识解析***在接收到终端设备的请求时,主线程会建立一个网络连接,并启动一个线程,从而把网络连接交给线程去处理终端设备请求,并向终端设备的网络连接返回处理结果的响应内容。
然而,当终端设备请求量增加时,现有***通常采用多线程服务的接收及处理,而每个线程都需要一定的内存空间,而越来越多的线程和内存空间将会导致内存溢出,影响***的可用性。
发明内容
本发明实施例提供一种标识解析方法及装置,以解决现有技术中当终端设备请求量增加时,需要建立较多的线程从而带来的所需内存增加,***可用性较差的问题。
第一方面,本申请实施例提供一种标识解析方法,所述方法包括:
通过主线程接收终端设备发送的连接请求,并根据所述连接请求与终端设备建立连接;
通过主线程接收建立连接的终端设备发送的业务请求;
判断第一线程池内是否存在空闲线程,若存在空闲线程,则通过所述第一线程池从所述主线程获取所述终端设备发送的业务请求;
通过所述第二线程池从所述第一线程池获取所述业务请求并进行处理,获得请求处理结果;
将所述请求处理结果发送给所述终端设备。
可选的,所述通过主线程接收建立连接的终端设备发送的业务请求,包括:
通过主线程接收建立连接的终端设备发送的认证请求;
根据所述认证请求确定所述终端设备是否通过安全认证;
通过主线程获取通过安全认证的终端设备发送的业务请求。
可选的,所述通过第二线程池从所述第一线程池获取所述业务请求并进行处理,包括:
根据所述业务请求生成标识关联任务,所述标识关联任务包括标识解析任务、标识注册任务和增加标识属性任务;
将所述标识解析任务、标识注册任务和增加标识属性任务分别发送到对应的逻辑处理单元;
获取各个所述逻辑处理单元的任务处理结果。
可选的,所述方法还包括:
将所述处理结果发送到数据库存储单元,并通过数据库存储单元对所述处理结果进行保存。
可选的,所述方法还包括:
向终端设备发送心跳消息,并接收终端设备返回的心跳应答,若在预设时间内未接收到终端设备返回的心跳应答,则断开与所述终端设备的连接。
可选的,所述方法还包括:
获取可接入的最大连接请求数量,当终端设备的连接请求数量大于所述最大连接请求数量时,停止响应终端设备的连接请求。
第二方面,本发明实施例提供一种标识解析装置,所述装置包括:主线程接收模块、第一线程池处理模块、第二线程池处理模块和结果发送模块;
主线程接收模块,用于接收终端设备发送的连接请求,并根据所述连接请求与终端设备建立连接;以及,用于接收建立连接的终端设备发送的业务请求;
第一线程池处理模块,用于判断第一线程池内是否存在空闲线程,若存在空闲线程,则通过所述第一线程池从所述主线程获取所述终端设备发送的业务请求;
第二线程池处理模块,用于从所述第一线程池获取所述业务请求并进行处理,获得请求处理结果;
结果发送模块,用于将所述请求处理结果发送给所述终端设备。
第三方面,本发明实施例提供服务器,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的标识解析方法。
第四方面,本发明实施例提供一种标识解析***,所述***包括服务器和终端设备。
第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上述第一方面任一项所述的标识解析方法。
本实施例提供的标识解析方法及装置,通过主线程接收终端设备发送的连接请求,并根据所述连接请求与终端设备建立连接;通过主线程接收建立连接的终端设备发送的业务请求;判断第一线程池内是否存在空闲线程,若存在空闲线程,则通过所述第一线程池从所述主线程获取所述终端设备发送的业务请求;通过所述第二线程池从所述第一线程池获取所述业务请求并进行处理,获得请求处理结果;将所述请求处理结果发送给所述终端设备;本发明通过设置的两个线程池分别对终端设备的不同请求进行处理,实现使用同一条线程可以分时对多个用户的认证请求和业务请求进行处理,而无需对每一个终端设备建立一个线程,从而使得线程占用的内存大大减少,从而解决内存溢出的问题,提高***的可行性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的标识解析的应用场景示意图;
图2为本发明实施例提供的标识解析方法的流程示意图;
图3为本发明另一实施例提供的标识解析方法的流程示意图;
图4为本发明再一实施例提供的标识解析方法的流程示意图;
图5为本发明实施例提供的标识解析装置的结构示意图;
图6为本发明实施例提供的标识解析***的结构示意图;
图7为本发明实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明实施例提供的标识解析的应用场景示意图,如图1所示,其中,110表示终端设备,120表示服务器,终端设备110用于输入用户的连接请求、认证请求和业务请求,并接收服务器120返回的请求处理结果;服务器120用于对接收的来自终端设备的连接请求、认证请求和业务请求进行处理,并将处理结果发送至终端设备。
在本实施例中,终端设备包括但不限于移动台(MS,Mobile Station)、移动终端(Mobile Terminal)、移动电话(Mobile Telephone)、手机(handset)及便携设备(portableequipment)等,该终端设备可以经无线接入网(RAN,Radio Access Network)与一个或多个核心网进行通信,例如,终端设备可以是移动电话(或称为“蜂窝”电话)、具有无线通信功能的计算机等,终端设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置或设备。
现有技术中,Handle标识解析***在处理终端设备的请求时会为每个终端设备建立一个网络连接,并启动一个进程,通过每一个进程来处理每个终端设备的请求。实际上,在面对大量终端设备的请求时采用上述方式的标识解析方法,需要建立大量的网络连接与线程,而线程的运行也需要内存作为支持,因此,***所占用的内存也会大大增加,当内存占有量增大到一定数值时将会导致内存溢出,从而影响***的可用性。
为了解决现有的Handle标识解析***占用内存较大的问题,本发明设置了两个线程池,即:第一线程池和第二线程池,通过第一线程池先处理来自终端设备的认证请求,当完成认证请求后第一线程池中的线程由工作状态转变为空闲状态,处于空闲状态的线程能够接收终端设备的业务请求,并将终端设备的业务请求交付给第二线程池进行处理,这样第一线程池中的线程能够分时段的处理来自终端设备的认证请求和业务请求,从而实现采用较少线程就能处理大量终端设备的请求,从而可以减少线程对内存的占用,提高***的可行性。
下面以具体地实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2为本发明实施例提供的标识解析方法的流程示意图,本实施例的方法可以在标识解析装置执行,该标识解析装置可以以软件和/或硬件的形式设置在图1的服务器中。如图2所示,本实施例的方法,可以包括:
S201:通过主线程接收终端设备发送的连接请求,并根据所述连接请求与终端设备建立连接。
在本实施例中,主线程可以实时或者周期性的获取终端设备发送的连接请求。主线程可以通过多种方式获取终端设备的连接请求,一种可选的实施方式中,当终端设备启动标识解析***时,***可以自动发送一个连接请求,主线程接收到连接请求后,在主线程与所述终端设备之间建立一个连接通道。主线程还可以每隔预设间隔获取终端设备发送的连接请求,并分别与各个终端设备建立连接通道。其中,连接通道的数量与终端设备的数量是对应的。所述连接通道可以传输但不限于:终端设备发送的认证请求和业务请求。
例如:每隔3s获取一次连接请求,当3s内接收到终端设备A、终端设备B和终端设备C的连接请求时,主线程分别建立与终端设备A、终端设备B和终端设备C之间的连接通道A、连接通道B和连接通道C。其中,所述预设间隔可以根据实际情况进行合理设置,本实施例对此不作具体限定。
S202:通过主线程接收建立连接的终端设备发送的业务请求。
在本实施例中,当终端设备与主线程建立连接以后,终端设备可以通过连接通道向主线程发送业务请求。此处的业务请求指的是对标识的操作处理请求,例如当需要对标识属性进行删除操作时,所述业务请求为删除标识属性。主线程可以接收到已经建立连接的终端设备的业务请求,而不能接收到未建立连接的终端设备的业务请求。
S203:判断第一线程池内是否存在空闲线程,若存在空闲线程,则通过所述第一线程池从所述主线程获取所述终端设备发送的业务请求。
在本实施例中,所述空闲线程指的是当前线程未执行任务,处于空闲状态;与空闲线程相对的是工作线程,即当前线程处于执行任务状态。若当前线程任务执行完毕后,线程的状态会由工作状态转换为空闲状态。
在本实施例中,在第一线程池内可以预先设置一定数量的线程数,线程的数量越多和越少都会影响***的性能,当线程个数太少时,无法处理大量的终端设备的请求,当线程个数太多时又会占用太多的内存,性能较差。在实际应用中,可以根据处理器的性能和终端设备的数量设置线程个数。
第一线程池在接收业务请求时,其并非对主线程传输的业务请求都能完全接收,而是需要根据第一线程池中线程的状态来接收业务请求,当存在空闲状态时可以接收终端设备的请求。具体的,当主线程发送N条业务请求时,第一线程池需要先对池内各个线程的状态进行判断,当第一线程池内存在大于等于N条的空闲线程时,才能接收来自主线程的N条业务请求;而当第一线程池内存在M(M<N)条空闲线程时,则第一线程池可以接收来自主线程的M条业务请求,剩余的(N-M)条业务请求可以当第一线程池存在空闲状态的线程时进行接收。例如:当主线程发送一条业务请求时,第一线程池内的5条线程均为工作线程,则第一线程池不能接收主线程发送该条业务请求,直至第一线程池内5条工作线程中的至少一条线程为空闲线程时,才能接收所述业务请求。
S204:通过第二线程池从所述第一线程池获取所述业务请求并进行处理,获得请求处理结果。
在本实施例中,终端设备发送的业务请求是通过第二线程池处理的,第二线程池首先接收第一线程池发送的业务请求,并采用相应的业务处理单元对所述业务请求进行处理,获得请求处理结果。例如:当终端设备需要对Handle标识进行解析操作时,所述第二线程池先从第一线程池获取该解析操作的业务请求,并利用该业务请求处理单元对所述解析操作的业务请求进行处理,获得标识解析结果。
S205:将所述请求处理结果发送给所述终端设备。
在本实施例中,当第二线程池获得请求处理结果后,需要将请求处理结果返回至终端设备。具体的,可以通过所述第二线程池将请求处理结果发送至终端设备,也可以是重新定义一个输出端口,所述输出端口从第二线程池获取请求处理结果,再将所述请求处理结果返回给终端设备。
例如:当请求为对handle标识10.3866/PKU.WHXB201803024进行解析时,第二线程池会对所述标识进行解析,获得解析结果为:所述handle标识为学术论文,并将该结果直接发送给终端设备,或者通过输出端口传输给终端设备。
本实施例提供的标识解析方法,通过主线程接收终端设备发送的连接请求,并根据所述连接请求与终端设备建立连接,通过主线程接收建立连接的终端设备发送的业务请求,判断第一线程池内是否存在空闲线程,若存在空闲线程,则通过第一线程池从所述主线程获取所述终端设备发送的业务请求,通过第二线程池从所述第一线程池获取所述业务请求并进行处理,获得请求处理结果,将所述请求处理结果发送给所述终端设备。本发明通过设置的两个线程池分别对终端设备的不同请求进行处理,使得采用较少的线程即可实现对大量终端设备的请求进行处理,而无需对每一个终端设备建立一个线程,从而使得线程占用的内存大大减少,从而解决内存溢出的问题,提高***的可行性。
图3为本发明实施例提供的标识解析方法的流程图二,如图3所示,在上述实施例的基础上,本实施例的方法,步骤S202包括步骤S301、步骤S302和步骤S303。
步骤S301、通过主线程接收建立连接的终端设备发送的认证请求。
在本实施例中,认证请求用于对发送认证请求的终端设备的身份进行校验,其中,认证请求中包括用户信息,认证信息可以是用户名和密码,还可以是用户代码和密码;通过认证信息实现对终端设备的身份识别。
此外,终端设备发送的请求不仅限于认证请求,还可以包括初始化请求。例如,当终端设备初次使用所述解析***时可以对***的参数进行初始化设置,以便该***能够符合客户的使用习惯。
步骤S302、根据所述认证请求确定所述终端设备是否通过安全认证。
在本实施例中,在接收终端设备发送的业务请求之前还需要对终端设备进行安全验证,当终端设备符合安全认证要求时,则通过终端设备的安全认证请求。具体的,当终端设备发送认证请求时,主线程将所述认证请求发送至第一线程池,第一线程池根据线程的状态来对认证请求进行处理。具体的,判断第一线程池内是否存在空闲线程,当存在空闲线程时接收所述认证请求;当不存在空闲线程时,拒绝接收所述认证请求。为了减少对第一线程池内线程的占用,当第一线程池接收所述认证请求后,将所述认证请求发送给认证模块进行安全认证。
具体的,在获取认证请求后,判断认证信息中的用户名或用户代码是否在***中存在,当存在时,判断认证信息中的密码与***中存储的与用户名或用户代码所对应的密码是否一致,若一致,则安全认证成功,否则,安全认证失败。当用户名或用户代码在***中不存在时,向终端设备返回用户名或用户代码不存在的消息。
步骤S303、通过主线程获取通过安全认证的终端设备发送的业务请求。
在本实施例中,当终端设备通过安全认证后,主线程能够接收来自终端设备的业务请求,从而能够根据不同客户的操作权限不同,来保证所述标识解析***的安全性。
图4为本发明实施例提供的标识解析方法的流程图三,如图4所示,在上述实施例的基础上,本实施例的方法,步骤S204包括步骤S401、步骤S402和步骤S403。
步骤S401、根据所述业务请求生成标识关联任务,所述标识关联任务包括标识解析任务、标识注册任务和增加标识属性任务。
在本实施例中,当第二线程池获取业务请求后,可以根据业务请求的类型对其进行分类,当对业务请求进行分类后可以快速的将所述业务发送至对应的逻辑处理单元,加快了对业务请求的处理速度。此处的标识关联任务包括但不限于标识解析任务、标识注册任务和增加标识属性任务等。
步骤S402、将所述标识解析任务、标识注册任务和增加标识属性任务分别发送到对应的逻辑处理单元。
在第二线程池中设置由多个逻辑处理单元,分别用于对不同的业务请求进行处理。这里,逻辑处理单元包括但不限于标识解析处理单元、标识注册处理单元和增加标识属性处理单元等。当第二线程池接收到增加标识属性任务的请求时,会将所述任务发送至增加标识属性处理单元。
步骤S403、获取各个所述逻辑处理单元的任务处理结果。
当第二线程池中的各个逻辑处理单元完成对标识关联任务的处理后,可以获取所述处理结果,例如,当标识关联任务为标识解析任务时,标识解析逻辑单元对所述任务进行处理,并返回标识代表的含义给第二线程池。如:对Handle标识10.3866/PKU.WHXB201803024进行解析后,将所述标识代表的含义“学术论文”返回至第二线程池。
传统的标识解析方法在处理终端设备的认证请求和业务请求时,采用的是BIO(Blocking Input Output)模型,在BIO的模型架构下,数据传输采用的是同步阻塞方式,此处的同步指的是当发送请求调用后,在没有得到调用结果之前,该调用不会返回。此处的阻塞指的是请求结果返回之前,当前线程会被挂起,当前请求会阻塞当前线程。
传统的标识解析方法在对请求处理时会为每个终端设备都建立一条网络连接并启动一个线程,每条线程只能服务于一个终端设备,当该终端设备没有发送认证请求或业务请求时,该线程也会一直占用内存(也就是阻塞处理方式),等待终端设备发送请求。
而本发明中的标识解析方法处理终端设备的认证请求和业务请求时,采用的是NIO(Non-blocking Input Output)模型,在NIO的模型架构下,数据传输采用的是异步非阻塞方式,此处的异步与同步相对,指的是当发送请求调用后,该调用将直接返回;此处的非阻塞与阻塞相对,指的是终端设备在没有得到结果之前,该请求也不会阻塞当前线程。
具体的,采用第一线程池和第二线程池将终端设备发送的认证请求与业务请求分开处理,第一线程池与主进程之间的线程具有多路复用的特点,当一条线程处理完当前请求后就会由工作状态转为空闲状态,处于空闲状态的线程可以继续处理来自其他终端设备的认证请求或业务请求。因此,本发明中采用的异步非阻塞的工作模式使得第一线程池与主线程之间的一条线程就可以同时处理多个终端设备的请求,解决了传统解析方法采用多线程所带来的占用内存多,***可行性不高的问题。
在本实施例中,所述方法还可以包括:将所述处理结果发送到数据库存储单元,并通过数据库存储单元对所述处理结果进行保存。
在本实施例中,当第二线程池在获取到请求处理结果后,除了将请求处理结果发送给终端设备外,还可以将请求处理结果发送至数据库存储单元进行保存,当客户下次访问时可以从数据库存储单元调用请求处理结果。或者,还可以在数据库存储单元存储大量的热点数据,当需要对所述热点数据进行查询及处理时,不需要经过外部数据库的查询和数据的传输,只需要在当前***的数据库中进行查询和传输数据。相比于外部数据库,本方法可以提高数据查询的速度,加快业务请求的处理速度,提高用户的使用体验。
在上述实施例的基础上,本实施例的方法,可以包括:向终端设备发送心跳消息,并接收终端设备返回的心跳应答,若在预设时间内未接收到终端设备返回的心跳应答,则断开与所述终端设备的连接。
在本实施例中,终端设备和服务器之间数据的接收和发送都是建立在SOCKET(套接字)的基础上实现的,但是当该套接字断开时,终端设备与服务器之间的数据传输会中断。为了保证数据的有效传输,可以通过发送心跳包和接收心跳应答来判断该套接字的状态。具体的,可以对心跳次数进行设置,例如设置为2次。还可以对发送心跳包的时间进行设置,可以设置为每隔预设间隔的向终端设备发送心跳包或在固定时间点向终端设备发送心跳包。例如,每隔两小时发送一次心跳包;或者在上午8:00、上午9:00、上午10:00的三个时间点分别向终端设备发送一次心跳包。其中,所述预设间隔和固定时间点可以根据实际情况进行合理设置,本实施例对此不作具体限定。
当终端设备接收到心跳包后会向服务器回复一个固定消息,以表明终端设备与服务器之间的套接字未断开,当终端设备在预设时间内未向服务器回复消息时,服务器判断该终端设备的套接字已断开,并关闭该终端设备的网络连接,当终端设备需要向服务器发送请求信息时,需要重新与服务器建立网络连接。
上述方法通过向终端设备发送心跳包,能够检测终端设备与服务器之间的连接状态,并根据检测结果能够关闭网络连接或重新建立终端设备与服务器的网络连接,从而保证了***运行的可靠性。
在上述实施例的基础上,本实施例的方法,可以包括:获取可接入的最大连接请求数量,当终端设备的连接请求数量大于所述最大连接请求数量时,停止响应终端设备的连接请求。
在本实施例中还可以根据服务器的性能设置可接入终端设备的最大请求数量,例如:设置可接入的终端设备的最大请求数为一万个,则当终端设备连接请求数量超过一万个时,服务器拒绝接收终端设备的连接请求,从而可以防止由于在某一时间大量终端设备的连接而出现***瘫痪的问题。其中,最大连接请求数量与服务器的内存和处理器的性能等物理条件有关。
图5为本发明实施例提供的标识解析装置的结构示意图,如图5所示,本实施例提供的标识解析装置500,可以包括:主线程接收模块501、第一线程池处理模块502、第二线程池处理模块503和结果发送模块504。
其中,主线程接收模块501,用于接收终端设备发送的连接请求,并根据所述连接请求与终端设备建立连接;以及,用于接收建立连接的终端设备发送的业务请求。
第一线程池处理模块502,用于判断第一线程池内是否存在空闲线程,若存在空闲线程,则通过所述第一线程池从所述主线程获取所述终端设备发送的业务请求。
第二线程池处理模块503,用于从所述第一线程池获取所述业务请求并进行处理,获得请求处理结果。
结果发送模块504,用于将所述请求处理结果发送给所述终端设备。
本发明实施例提供的标识解析装置,可以实现上述如图2和图3所示的实施例的标识解析方法,其实现原理和技术效果类似,此处不再赘述。
图6为本发明实施例提供的标识解析***的结构示意图,如图所示,终端设备601可以为多个终端设备,每个终端设备与主线程602之间均需建立一条连接通道,主线程602在接收到终端设备601发送的连接请求后,可以根据连接请求与终端设备601建立连接。当建立连接之后,终端设备601可以通过主线程602向第一线程池603发送认证请求或业务请求,其中,第一线程池603与主线程602之间可以建立预设数量的线程,当第一线程池603在接收主线程602发送的认证请求或业务请求时,需要先对预设数量的线程状态进行检查,判断是否存在空闲线程,当存在空闲线程时可以接收认证请求或业务请求。当第一线程池603接收到所述认证请求时,将所述认证请求发送至认证模块604进行处理,认证模块604对所述认证请求处理,并将所述认证结果发送至第一线程池603。当通过安全认证的终端设备向第一线程池603发送业务请求时,第一线程池603会直接将所述业务请求发送至第二线程池605,并通过第二线程池605中的不同逻辑处理单元对业务请求进行处理。当第二线程池605对所述业务请求处理完毕后会获得请求处理结果,第二线程池605可以将请求处理结果发送至第一线程池603,第一线程池603再通过主线程将请求处理结果返回给对应的终端设备。
此外,标识解析***还可以包括数据库存储单元606,当第二线程池605获取请求处理结果后,可以将结果保存在数据库存储单元中,当客户下次访问时可以从数据库存储单元调用请求处理结果,相比于外部数据库,本方法可以加快对于业务请求的处理速度。
图7为本发明实施例提供的服务器的示意图。如图7所示,本实施例提供的服务器700包括:至少一个处理器701和存储器702。其中,处理器701、存储器702通过总线703连接。
在具体实现过程中,至少一个处理器701执行所述存储器702存储的计算机执行指令,使得至少一个处理器701执行上述方法实施例中的标识解析方法。
处理器701的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图7所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本发明附图中的总线并不限定仅有一根总线或一种类型的总线。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述方法实施例的标识解析方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种标识解析方法,其特征在于,应用于服务器,所述方法包括:
通过主线程接收终端设备发送的连接请求,并根据所述连接请求与终端设备建立连接;
通过主线程接收建立连接的终端设备发送的业务请求;
判断第一线程池内是否存在空闲线程,若存在空闲线程,则通过所述第一线程池从所述主线程获取所述终端设备发送的业务请求;
通过第二线程池从所述第一线程池获取所述业务请求并进行处理,获得请求处理结果;
将所述请求处理结果发送给所述终端设备。
2.如权利要求1所述的标识解析方法,其特征在于,所述通过主线程接收建立连接的终端设备发送的业务请求,包括:
通过主线程接收建立连接的终端设备发送的认证请求;
根据所述认证请求确定所述终端设备是否通过安全认证;
通过主线程获取通过安全认证的终端设备发送的业务请求。
3.如权利要求1所述的标识解析方法,其特征在于,所述通过第二线程池从所述第一线程池获取所述业务请求并进行处理,包括:
根据所述业务请求生成标识关联任务,所述标识关联任务包括标识解析任务、标识注册任务和增加标识属性任务;
将所述标识解析任务、标识注册任务和增加标识属性任务分别发送到对应的逻辑处理单元;
获取各个所述逻辑处理单元的任务处理结果。
4.如权利要求3所述的标识解析方法,其特征在于,还包括:
将所述处理结果发送到数据库存储单元,并通过数据库存储单元对所述处理结果进行保存。
5.如权利要求4所述的标识解析方法,其特征在于,还包括:
向终端设备发送心跳消息,并接收终端设备返回的心跳应答,若在预设时间内未接收到终端设备返回的心跳应答,则断开与所述终端设备的连接。
6.如权利要求1-5任一项所述的标识解析方法,其特征在于,还包括:
获取可接入的最大连接请求数量,当终端设备的连接请求数量大于所述最大连接请求数量时,停止响应终端设备的连接请求。
7.一种标识解析装置,其特征在于,所述装置包括:主线程接收模块、第一线程池处理模块、第二线程池处理模块和结果发送模块;
主线程接收模块,用于接收终端设备发送的连接请求,并根据所述连接请求与终端设备建立连接;以及,用于接收建立连接的终端设备发送的业务请求;
第一线程池处理模块,用于判断第一线程池内是否存在空闲线程,若存在空闲线程,则通过所述第一线程池从所述主线程获取所述终端设备发送的业务请求;
第二线程池处理模块,用于从所述第一线程池获取所述业务请求并进行处理,获得请求处理结果;
结果发送模块,用于将所述请求处理结果发送给所述终端设备。
8.一种服务器,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至6任一项所述的标识解析方法。
9.一种标识解析***,其特征在于,所述***包括权利要求8所述服务器和终端设备。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至6任一项所述的标识解析方法。
CN202010460754.0A 2020-05-27 2020-05-27 标识解析方法及装置 Pending CN111859082A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010460754.0A CN111859082A (zh) 2020-05-27 2020-05-27 标识解析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010460754.0A CN111859082A (zh) 2020-05-27 2020-05-27 标识解析方法及装置

Publications (1)

Publication Number Publication Date
CN111859082A true CN111859082A (zh) 2020-10-30

Family

ID=72985245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010460754.0A Pending CN111859082A (zh) 2020-05-27 2020-05-27 标识解析方法及装置

Country Status (1)

Country Link
CN (1) CN111859082A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242578A (zh) * 2022-07-29 2022-10-25 招商局金融科技有限公司 Vpn连接管理方法、装置、计算机设备及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267916A1 (en) * 2003-06-25 2004-12-30 International Business Machines Corporation Method for improving performance in a computer storage system by regulating resource requests from clients
CN102546437A (zh) * 2012-02-20 2012-07-04 南京邮电大学 一种面向物联网平台的套接字实现方法
CN103249120A (zh) * 2012-02-03 2013-08-14 华为终端有限公司 一种无线保真WiFi接入点设备省电的方法及装置
US20130282853A1 (en) * 2012-04-20 2013-10-24 Electronics And Telecommunications Research Institute Apparatus and method for processing data in middleware for data distribution service
CN103490945A (zh) * 2013-08-09 2014-01-01 上海斐讯数据通信技术有限公司 一种测试最大telnet用户数的方法
CN103873472A (zh) * 2014-03-18 2014-06-18 广州市纬志电子科技有限公司 一种自动连接网络的方法
CN104980420A (zh) * 2014-09-28 2015-10-14 腾讯科技(深圳)有限公司 一种业务处理方法、装置、终端及服务器
US20160277969A1 (en) * 2009-10-30 2016-09-22 Pradeep J. Iyer Balancing Clients Across Bands in a Single Access Point
CN109257411A (zh) * 2018-07-31 2019-01-22 平安科技(深圳)有限公司 一种业务处理方法、调用管理***和计算机设备
CN109634738A (zh) * 2018-10-19 2019-04-16 深圳平安财富宝投资咨询有限公司 基于微服务的异步处理方法、服务器、存储介质及装置
CN110134578A (zh) * 2019-05-23 2019-08-16 浙江齐治科技股份有限公司 一种数据处理方法及装置
CN110515725A (zh) * 2019-08-14 2019-11-29 威富通科技有限公司 业务请求处理方法、计算机存储介质、服务器以及***
CN110750339A (zh) * 2018-07-23 2020-02-04 杭州海康威视***技术有限公司 一种线程调度方法、装置及电子设备
CN111124702A (zh) * 2019-11-22 2020-05-08 腾讯科技(深圳)有限公司 性能数据采集方法、装置和计算机可读存储介质

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267916A1 (en) * 2003-06-25 2004-12-30 International Business Machines Corporation Method for improving performance in a computer storage system by regulating resource requests from clients
US20160277969A1 (en) * 2009-10-30 2016-09-22 Pradeep J. Iyer Balancing Clients Across Bands in a Single Access Point
CN103249120A (zh) * 2012-02-03 2013-08-14 华为终端有限公司 一种无线保真WiFi接入点设备省电的方法及装置
CN102546437A (zh) * 2012-02-20 2012-07-04 南京邮电大学 一种面向物联网平台的套接字实现方法
US20130282853A1 (en) * 2012-04-20 2013-10-24 Electronics And Telecommunications Research Institute Apparatus and method for processing data in middleware for data distribution service
CN103490945A (zh) * 2013-08-09 2014-01-01 上海斐讯数据通信技术有限公司 一种测试最大telnet用户数的方法
CN103873472A (zh) * 2014-03-18 2014-06-18 广州市纬志电子科技有限公司 一种自动连接网络的方法
CN104980420A (zh) * 2014-09-28 2015-10-14 腾讯科技(深圳)有限公司 一种业务处理方法、装置、终端及服务器
CN110750339A (zh) * 2018-07-23 2020-02-04 杭州海康威视***技术有限公司 一种线程调度方法、装置及电子设备
CN109257411A (zh) * 2018-07-31 2019-01-22 平安科技(深圳)有限公司 一种业务处理方法、调用管理***和计算机设备
WO2020024469A1 (zh) * 2018-07-31 2020-02-06 平安科技(深圳)有限公司 一种业务处理方法、调用管理***和计算机设备
CN109634738A (zh) * 2018-10-19 2019-04-16 深圳平安财富宝投资咨询有限公司 基于微服务的异步处理方法、服务器、存储介质及装置
CN110134578A (zh) * 2019-05-23 2019-08-16 浙江齐治科技股份有限公司 一种数据处理方法及装置
CN110515725A (zh) * 2019-08-14 2019-11-29 威富通科技有限公司 业务请求处理方法、计算机存储介质、服务器以及***
CN111124702A (zh) * 2019-11-22 2020-05-08 腾讯科技(深圳)有限公司 性能数据采集方法、装置和计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘新强等: "用线程池解决服务器并发请求的方案设计", 《现代电子技术》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242578A (zh) * 2022-07-29 2022-10-25 招商局金融科技有限公司 Vpn连接管理方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
EP3223549B1 (en) Wireless network access method and access apparatus, client and storage medium
CN104967997B (zh) 一种无线网路接入方法、Wi-Fi设备、终端设备及***
CN110602691B (zh) 一种基于区块链网络的移动通信方法及装置
CN109688186B (zh) 数据交互方法、装置、设备及可读存储介质
EP3046394B1 (en) Message processing method and mme selection method and device
EP3319293A1 (en) Cross-terminal login-free method and device
US20130109351A1 (en) Authentication system, authentication method and authentication server
CN109743722B (zh) 网络连接处理方法和装置
CN109379779B (zh) 拨号联网方法、装置、计算机设备和存储介质
CN111988824A (zh) 一种网络切换的方法、装置、电子设备及存储介质
CN107172194B (zh) 虚拟sim卡的管理方法、装置和通信终端
CN110798453B (zh) 用于一键登录的数据处理方法及装置
CN113873491A (zh) 通信装置、***和计算机可读存储介质
CN112788518B (zh) 一种位置服务的处理方法及相关设备
CN111859082A (zh) 标识解析方法及装置
US11064344B2 (en) Physical address-based communication method, mobile terminal and communication database
CN116055403A (zh) 报文数据的传输方法、装置和服务器
CN113365272B (zh) 一种防蹭网方法及***
CN111885583B (zh) 网络的共享方法及装置
CN110719586B (zh) 业务建立方法、装置及服务器
CN106341861B (zh) 一种识别无线接入点的方法、服务器及***
CN105163335B (zh) 一种网络接入管理方法、服务器、移动终端以及***
RU2746890C1 (ru) Способ, устройство и система отклонения доступа, носитель информации и процессор
CN108076460B (zh) 一种进行鉴权的方法及终端
CN114051243B (zh) 一种验证方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20201028

Address after: NO.666, Tianxiang Road, Danyang street, Heze Development Zone, Shandong Province

Applicant after: Fuxi Technology (Heze) Co.,Ltd.

Applicant after: Shandong Fuxi think tank Internet Research Institute

Address before: No. 666, Tianxiang Road, Mudan District, Heze City, Shandong Province

Applicant before: Fuxi Technology (Heze) Co.,Ltd.

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20201030

RJ01 Rejection of invention patent application after publication