CN109213546A - 用于windows客户端程序的登录处理方法和装置 - Google Patents

用于windows客户端程序的登录处理方法和装置 Download PDF

Info

Publication number
CN109213546A
CN109213546A CN201710527700.XA CN201710527700A CN109213546A CN 109213546 A CN109213546 A CN 109213546A CN 201710527700 A CN201710527700 A CN 201710527700A CN 109213546 A CN109213546 A CN 109213546A
Authority
CN
China
Prior art keywords
login
interface
engineering
interaction
main program
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.)
Granted
Application number
CN201710527700.XA
Other languages
English (en)
Other versions
CN109213546B (zh
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.)
Nanjing Floating Point Intelligent Computing Digital Technology Co ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710527700.XA priority Critical patent/CN109213546B/zh
Publication of CN109213546A publication Critical patent/CN109213546A/zh
Application granted granted Critical
Publication of CN109213546B publication Critical patent/CN109213546B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明属于计算机控制技术领域,涉及一种用于windows客户端程序的登录处理方法和装置。方法包括:应用于RPC客户端,包括:创建登录交互工程;创建RPC通信工程;创建所述主程序控制所述登录交互工程的动态链接数据库;当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库的相应功能接口完成UI交互,并将登录结果返回给所述主程序。由此解决了现有技术中的登录模块化受系统环境限制的技术问题,达到了登录进程独立运行且不依赖任何系统环境的技术效果。

Description

用于windows客户端程序的登录处理方法和装置
技术领域
本发明属于计算机控制技术领域,特别涉及一种用于windows客户端程序的登录处理方法和装置。
背景技术
登录程序在windows桌面应用开发中不可或缺,而同一个体系的多个客户端都需要登录部分,而且其中登录逻辑都是一样的,只是个别类型不同,将登录部分模块化是必要的处理。但是如果想要将登录部分完全模块化却并不那么容易,因为登录涉及到用户交互,有界面内容。常见的封装dll(Dynamic Link Library动态链接库,是一个包含可由多个程序同时使用的代码和数据的库)的手段对含有界面的模块却并不那么方便,首先界面资源管理异常的麻烦,甚至有些效果还做不到,其次包含界面的dll对工作环境有特殊的要求,很多时候没法通用,例如Qt(是一个跨平台C++图形用户界面应用程序开发框架。它既可以开发图形用户界面程序,也可用于开发非图形用户界面程序,比如控制台工具和服务器)带界面的dll只能运行在Qt环境的程序中。因此想用dll直接封装登录部分难以达到预期的技术效果。
因此,亟需一种新的windows登录解决策略,将登录部分独立成进程,不依赖任何环境,独立运行,以避免现有windows登录程序模块化出现的上述问题。
发明内容
为了解决现有技术存在的上述问题,本发明提供了一种用于windows客户端程序的登录处理方法和装置,将登录部分独立成进程,不依赖任何系统环境,可独立运行。
第一方面,本发明实施例中提供一种用于windows客户端程序的登录处理方法,应用于RPC客户端,包括:
创建登录交互工程,用于弹出对话框、接受输入用户名密码、请求登录服务器、接受登录返回的结果、注销登录等等与登录相关的逻辑操作的功能;
创建RPC通信工程,用于注册可供所述登录交互工程调用的RPC函数,以完成登录、注销、获取用户头像等等特定的登录功能;
创建所述主程序控制所述登录交互工程的动态链接数据库,所述动态链接数据库中至少包括立初始化接口、开始登录接口、注销登录接口、获取登录用户信息接口、登录结果返回接口等与登录相关的功能接口,所述接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现;
当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库的相应功能接口完成UI(user interface,用户界面)交互,并将登录结果返回给所述主程序。
结合第一方面,本发明在第一方面的第一种实施方式中,所述初始化接口,用于获取所述登录进程需要的参数,包括客户端名字、类型、加密字符串、RPC通信关键字等,并在初始化成功后返回一个接口类指针,供其它接口使用;
所述开始登录接口,用于响应接口类指针,实现所述主程序的开始登录功能;
所述注销登录接口,用于响应接口类指针,实现所述主程序的注销登录功能;
所述获取登录用户信息接口,用于响应接口类指针,实现与登录相关的功能;
所述登录结果返回接口,用于将所述登录进程结束时的接口类指针返回给所述主程序。
结合第一方面的第一种实施方式,本发明在第一方面的第二种实施方式中,所述当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库相应功能接口完成UI交互,并将登录结果返回给所述主程序,包括:
当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口,启动所述登录交互工程后,使所述登录交互工程保持与所述RPC通信工程的链接。
结合第一方面,本发明在第一方面的第三种实施方式中,所述初始化接口,还包括启动所述登录交互工程,并检测所述登录交互工程的状态,如果所述登录交互工程异常关闭,则立即重启所述登录交互工程,保证所述登录交互工程一直处在运行状态。
结合第一方面,本发明在第一方面的第四种实施方式中,所述创建所述主程序控制所述登录交互工程的动态链接数据库,包括:
所述动态链接数据库中的每个接口均以一个接口类指针完成所述登录交互工程的与登录相关的功能操作,并进行所述功能操作的指针回调。
结合第一方面,本发明在第一方面的第五种实施方式中,所述当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库相应功能接口完成UI交互,并将登录结果返回给所述主程序,包括:当通过所述动态链接数据库的初始化接口启动所述登录交互工程时,所述主程序停止当前与登录请求的交互,直至所述登录交互工程将登录结果返回给所述主程序。
第二方面,本发明实施例中提供一种用于windows客户端程序的登录处理装置,包括:
登录交互工程部,用于弹出对话框、接受输入用户名密码、请求登录服务器、接受登录返回的结果、注销登录等等与登录相关的逻辑操作的功能;
RPC通信工程部,用于注册可供所述登录交互工程调用的RPC函数,以完成登录、注销、获取用户头像等特定的登录功能;
动态链接数据库,所述动态链接数据库中至少包括立初始化接口、开始登录接口、注销登录接口、获取登录用户信息接口、登录结果返回接口等与登录相关的功能接口,所述接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现;
登录处理部,用于当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库的相应功能接口完成UI交互,并将登录结果返回给所述主程序。
结合第二方面,本发明在第二方面的第二种实施方式中,所述动态链接数据库包括:
初始化接口,用于获取所述登录进程需要的参数,包括客户端名字、类型、加密字符串、RPC通信关键字等,并在初始化成功后返回一个接口类指针,供其它接口使用;
开始登录接口,用于响应接口类指针,实现所述主程序的开始登录功能;
注销登录接口,用于响应接口类指针,实现所述主程序的注销登录功能;
获取登录用户信息接口,用于响应接口类指针,实现与登录相关的功能;
登录结果返回接口,用于将所述登录进程结束时的接口类指针返回给所述主程序。
第三方面,本发明实施例中提供一种登录处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:创建登录交互工程,用于弹出对话框、接受输入用户名密码、请求登录服务器、接受登录返回的结果、注销登录等等与登录相关的逻辑操作的功能;
创建RPC通信工程,用于注册可供所述登录交互工程调用的RPC函数,以完成登录、注销、获取用户头像等等特定的登录功能;
创建所述主程序控制所述登录交互工程的动态链接数据库,所述动态链接数据库中至少包括立初始化接口、开始登录接口、注销登录接口、获取登录用户信息接口、登录结果返回接口等与登录相关的功能接口,所述接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现;
当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库的相应功能接口完成UI交互,并将登录结果返回给所述主程序。
第四方面,本发明实施例中提供一种创建登录交互工程,用于弹出对话框、接受输入用户名密码、请求登录服务器、接受登录返回的结果、注销登录等等与登录相关的逻辑操作的功能;
创建RPC通信工程,用于注册可供所述登录交互工程调用的RPC函数,以完成登录、注销、获取用户头像等等特定的登录功能;
创建所述主程序控制所述登录交互工程的动态链接数据库,所述动态链接数据库中至少包括立初始化接口、开始登录接口、注销登录接口、获取登录用户信息接口、登录结果返回接口等与登录相关的功能接口,所述接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现;
当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库的相应功能接口完成UI交互,并将登录结果返回给所述主程序。
本发明的有益效果为:通过登录交互工程和RPC通信工程,以及全部接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现的动态链接数据库dll,主程序启动登录进程后处于休眠状态,由登录交互工程通过RPC通信工程直接调用dll模块的接口来完成登录进程,主程序不需要过问登录逻辑和具体操作交互,只需要等待登录进程返回的登录结果,由此实现了登录进程的独立运行,解决了现有技术中登录模块化受系统环境限制的技术问题,达到了登录进程独立运行且不依赖任何系统环境的技术效果。
附图说明
图1示出了根据本发明一个实施例的用于windows客户端程序的登录处理方法的流程图;
图2示出了根据本发明一个实施例的用于windows客户端程序的登录处理装置的结构图。
具体实施方式
本发明提供一种方法和装置,以解决现有技术中的的技术问题。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:本发明将RPC(Remote Procedure Call Protocol,远程过程调用协议)用作登录进程和主进程交互的手段。RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。本发明将登录进程做成RPC服务器形式的进程,主程序启动时启动登录进程,并将所需参数以命令行方式传入,登录进程启动后完成自己测初始化即可,处于服务状态,并不执行其他功能,同时主程序以RPC客户端的形式链接到登录程序上。当需要登录时,程序通过RPC通知登录进程完成登录交互操作,最后将登录的结构返回到主程序中。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
第一方面,如图1所示,本实施例中提供一种用于windows客户端程序的登录处理方法,包括如下步骤:
S1、创建登录交互工程,用于弹出对话框、接受输入用户名密码、请求登录服务器、接受登录返回的结果、注销登录等等与登录相关的逻辑操作的功能;
具体来说,步骤S1实现独立登录进程的登录UI部分的功能,完成登录相关的功能,弹出对话框、接受输入用户名密码、请求登录服务器、接受登录返回的结果、注销登录等等与登录相关连的逻辑操作的功能。该部分与正常程序中的登录功能差不多,没什么特殊差异。
S2、创建RPC通信工程,用于注册可供所述登录交互工程调用的RPC函数,以完成登录、注销、获取用户头像等等特定的登录功能;
具体来说,步骤S2实现独立登录进程的RPC通信部分,登录进程中主要实现RPC服务器的功能,注册一些可供调用的RPC函数,在这些函数中完整特定的登录功能登录、注销、获取用户头像等等。例如:注册RPC函数RPCLogin,函数实现启动登录部分的登录功能,之后完成输入用户名、密码,请求服务器,等待登录结果一系列的流程,并将结果以回调函数的方式传递给调用该函数的RPC客户端。
需要说明的是,登录进程完成登录的各个部分的功能流程,但是不主动执行,主要靠RPC服务器中的RPC函数来驱动执行,也就是说通过RPC客户端的请求来执行不同的功能。
因为不同程序的登录时有所差异的,录入客户端名字,类型,加密方式等等,可能还有RPC通信相关的关键字,每个程序登录操作流程虽然是一样的,但是总有一部分类型数据需要区分,而这部分差异性的数据则采用命令行的方式传入,启动进程时直接指定这些数据(登录客户端douyuTool,类型标识34,加密字符串123456,RPC通信关键字douyuTool12345等等)。
S3、创建所述主程序控制所述登录交互工程的动态链接数据库,所述动态链接数据库中至少包括立初始化接口、开始登录接口、注销登录接口、获取登录用户信息接口、登录结果返回接口等与登录相关的功能接口,所述接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现;
具体地说,步骤S3实现一个方便管理和使用的登录dll模块,该模块主要实现RPC客户端部分和提供主程序方便调用的接口。对外提供的接口都是方便主程序管理登录操作的,主要包含以下几个部分:初始化,开始登录,注销登录,获取登录后的用户信息等等。每个接口的内部实现则是通过RPC客户端调用RPC服务器中注册的函数。
S4、当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库的相应功能接口完成UI交互,并将登录结果返回给所述主程序。
具体地说,当所述主程序接收到登录请求时,主程序中直接调用dll模块的接口来控制登录情况。不需要过问登录逻辑和具体操作交互,只需要知道dll到处函数接口的不同功能就可以。当然,在具体实施中,需要把上述三个步骤中的登录进程和dll模块拷贝到程序目录中,主进程加载dll模块。
结合第一方面,本发明在第一方面的第一种实施方式中,所述初始化接口,用于获取所述登录进程需要的参数,包括客户端名字、类型、加密字符串、RPC通信关键字等,并在初始化成功后返回一个接口类指针,供其它接口使用;
所述开始登录接口,用于响应接口类指针,实现所述主程序的开始登录功能;
所述注销登录接口,用于响应接口类指针,实现所述主程序的注销登录功能;
所述获取登录用户信息接口,用于响应接口类指针,实现与登录相关的功能;
所述登录结果返回接口,用于将所述登录进程结束时的接口类指针返回给所述主程序。
以登录为例说明该模块的执行流程。对外提供登录接口dyLogin,接口参数中主要是一个回调结果的回调函数,当主程序调用dyLogin开始登录时,RPC客户端则调用RPC服务器注册的RPCLogin函数,然后等待RPCLogin的登录结果返回,当登录进程中完成了输入用户名密码等登录流程后,结果返回给RPC客户端,然后在调用接口中结果回调,把登录的结果返回给调用者。
结合第一方面的第一种实施方式,本发明在第一方面的第二种实施方式中,所述当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库相应功能接口完成UI交互,并将登录结果返回给所述主程序,包括:
当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口,启动所述登录交互工程后,使所述登录交互工程保持与所述RPC通信工程的链接。
结合第一方面,本发明在第一方面的第三种实施方式中,所述初始化接口,还包括启动所述登录交互工程,并检测所述登录交互工程的状态,如果所述登录交互工程异常关闭,则立即重启所述登录交互工程,保证所述登录交互工程一直处在运行状态。
具体地说,RPC客户端部分保持与RPC服务器的链接,当对外接口被调用时则调用RPC服务器对应的注册函数。
模块初始化的时候启动登录进程,并检测登录进程的状态,如果登录进程异常关闭,则立即重启进程,保证登录进程一直都在运行中。
结合第一方面,本发明在第一方面的第四种实施方式中,所述创建所述主程序控制所述登录交互工程的动态链接数据库,包括:
所述动态链接数据库中的每个接口均以一个接口类指针完成所述登录交互工程的与登录相关的功能操作,并进行所述功能操作的指针回调。
结合第一方面,本发明在第一方面的第五种实施方式中,所述当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库相应功能接口完成UI交互,并将登录结果返回给所述主程序,包括:当通过所述动态链接数据库的初始化接口启动所述登录交互工程时,所述主程序停止当前与登录请求的交互,直至所述登录交互工程将登录结果返回给所述主程序。
下面简要说明本发明登录进程在主程序使用中的流程:
初始化:主进程启动的时候初始化dll模块,一般需要客户端名字,类型,加密字符串,RPC通信关键字等参数,初始化成功后返回一个可以管理登录功能的接口类指针ILoginManager*m_login,后续其他相关操作都可以通过该类指针来完成。
单个功能使用:每个功能的使用都可以通过m_login直接调用响应的接口函数完成,传入对应功能所需要的参数即可,例如需要开始登录时,调用beginLogin接口,传入当前的父窗口(可以为空)以及结果回调函数指针onLoginResult,登录执行的过程主程序不用过问,最后登录的结果会通过onLoginResult回到主程序中。其他注销,获取用户等级,获取用户头像等等功能也是一样的使用操作。
最后程序退出时需要清理改dll模块的内容,直接调用Release函数即可。
从上述实施例可以看出,登录操作有主程序发起,例如用户点击登录按钮开始登录,主程序调用dll模块中的相关函数,dll模块中RPC客户端调用RPC服务器中注册的函数RPCLogin开始登录,然后等待结果返回,返回结果后通过回调函数的方式将结果回调到主进程中,这期间主进程UI交互阻塞,停止用户交互操作,相当于将操作焦点转移到登录程序,而登录程序则开始执行RPCLogin函数,开始完成登录过程,显示登陆框,输入用户名密码,错误重新登陆等等和登录相关的交互操作,直到登录成功或者是用户放弃登录操作,即整个登录过程已完成,有了登录结果,则退出登录过程,将登录结果返回给主程序,主程序收到登录结果后根据结果类型处理后续功能,这样一个完整的登录交互就完成了。对用户而言和直接操作一个程序的登录过程没有任何区别,然而我们的实现却是在两个独立的进程中完成的。既保证登录操作不受影响,又使得登录部分独立可以重复使用。每个需要的程序只需要传入自己的程序名称和登录类型即可,不需要修改代码,直接全套使用。后续如果其他程序需要加入登录部分的功能也非常简单,前面的登录进程和dll模块不需要任何改变,直接加入使用即可。
特别指出的是,上述方法步骤不一定按照编号顺序执行,之所以用编号只是为了表述的方便,只要能实现本发明的目的,任何步骤上的改变都应在本发明的权利要求保护范围内。
第二方面,本发明实施例中提供一种用于windows客户端程序的登录处理装置,可实现本发明第一方面实施例的方法,包括:
登录交互工程部10,用于弹出对话框、接受输入用户名密码、请求登录服务器、接受登录返回的结果、注销登录等等与登录相关的逻辑操作的功能;
RPC通信工程部20,用于注册可供所述登录交互工程调用的RPC函数,以完成登录、注销、获取用户头像等特定的登录功能;
动态链接数据库30,所述动态链接数据库中至少包括立初始化接口、开始登录接口、注销登录接口、获取登录用户信息接口、登录结果返回接口等与登录相关的功能接口,所述接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现;
登录处理部40,用于当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库的相应功能接口完成UI交互,并将登录结果返回给所述主程序。
结合第二方面,本发明在第二方面的第二种实施方式中,所述动态链接数据库包括:
初始化接口,用于获取所述登录进程需要的参数,包括客户端名字、类型、加密字符串、RPC通信关键字等,并在初始化成功后返回一个接口类指针,供其它接口使用;
开始登录接口,用于响应接口类指针,实现所述主程序的开始登录功能;
注销登录接口,用于响应接口类指针,实现所述主程序的注销登录功能;
获取登录用户信息接口,用于响应接口类指针,实现与登录相关的功能;
登录结果返回接口,用于将所述登录进程结束时的接口类指针返回给所述主程序。
第三方面,本发明实施例中提供一种登录处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:创建登录交互工程,用于弹出对话框、接受输入用户名密码、请求登录服务器、接受登录返回的结果、注销登录等等与登录相关的逻辑操作的功能;
创建RPC通信工程,用于注册可供所述登录交互工程调用的RPC函数,以完成登录、注销、获取用户头像等等特定的登录功能;
创建所述主程序控制所述登录交互工程的动态链接数据库,所述动态链接数据库中至少包括立初始化接口、开始登录接口、注销登录接口、获取登录用户信息接口、登录结果返回接口等与登录相关的功能接口,所述接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现;
当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库的相应功能接口完成UI交互,并将登录结果返回给所述主程序。
第四方面,本发明实施例中提供一种创建登录交互工程,用于弹出对话框、接受输入用户名密码、请求登录服务器、接受登录返回的结果、注销登录等等与登录相关的逻辑操作的功能;
创建RPC通信工程,用于注册可供所述登录交互工程调用的RPC函数,以完成登录、注销、获取用户头像等等特定的登录功能;
创建所述主程序控制所述登录交互工程的动态链接数据库,所述动态链接数据库中至少包括立初始化接口、开始登录接口、注销登录接口、获取登录用户信息接口、登录结果返回接口等与登录相关的功能接口,所述接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现;
当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库的相应功能接口完成UI交互,并将登录结果返回给所述主程序。
由上述实施例可见,本发明产生的有益效果是:通过登录交互工程和RPC通信工程,以及全部接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现的动态链接数据库dll,主程序启动登录进程后处于休眠状态,由登录交互工程通过RPC通信工程直接调用dll模块的接口来完成登录进程,主程序不需要过问登录逻辑和具体操作交互,只需要等待登录进程返回的登录结果,由此实现了登录进程的独立运行,解决了现有技术中登录模块化受系统环境限制的技术问题,达到了登录进程独立运行且不依赖任何系统环境的技术效果。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种用于windows客户端程序的登录处理方法,其特征在于,应用于RPC客户端,包括:
创建登录交互工程,用于弹出对话框、接受输入用户名密码、请求登录服务器、接受登录返回的结果、注销登录等等与登录相关的逻辑操作的功能;
创建RPC通信工程,用于注册可供所述登录交互工程调用的RPC函数,以完成登录、注销、获取用户头像等等特定的登录功能;
创建所述主程序控制所述登录交互工程的动态链接数据库,所述动态链接数据库中至少包括立初始化接口、开始登录接口、注销登录接口、获取登录用户信息接口、登录结果返回接口等与登录相关的功能接口,所述接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现;
当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库的相应功能接口完成UI交互,并将登录结果返回给所述主程序。
2.如权利要求1所述的方法,其特征在于,
所述初始化接口,用于获取所述登录进程需要的参数,包括客户端名字、类型、加密字符串、RPC通信关键字等,并在初始化成功后返回一个接口类指针,供其它接口使用;
所述开始登录接口,用于响应接口类指针,实现所述主程序的开始登录功能;
所述注销登录接口,用于响应接口类指针,实现所述主程序的注销登录功能;
所述获取登录用户信息接口,用于响应接口类指针,实现与登录相关的功能;
所述登录结果返回接口,用于将所述登录进程结束时的接口类指针返回给所述主程序。
3.如权利要求3所述的方法,其特征在于,所述当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库相应功能接口完成UI交互,并将登录结果返回给所述主程序,包括:
当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口,启动所述登录交互工程后,使所述登录交互工程保持与所述RPC通信工程的链接。
4.如权利要求1所述的方法,其特征在于,所述初始化接口,还包括启动所述登录交互工程,并检测所述登录交互工程的状态,如果所述登录交互工程异常关闭,则立即重启所述登录交互工程,保证所述登录交互工程一直处在运行状态。
5.如权利要求1所述的方法,其特征在于,所述创建所述主程序控制所述登录交互工程的动态链接数据库,包括:
所述动态链接数据库中的每个接口均以一个接口类指针完成所述登录交互工程的与登录相关的功能操作,并进行所述功能操作的指针回调。
6.如权利要求1所述的方法,其特征在于,所述当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库相应功能接口完成UI交互,并将登录结果返回给所述主程序,包括:当通过所述动态链接数据库的初始化接口启动所述登录交互工程时,所述主程序停止当前与登录请求的交互,直至所述登录交互工程将登录结果返回给所述主程序。
7.一种用于windows客户端程序的登录处理装置,其特征在于,包括:
登录交互工程部,用于弹出对话框、接受输入用户名密码、请求登录服务器、接受登录返回的结果、注销登录等等与登录相关的逻辑操作的功能;
RPC通信工程部,用于注册可供所述登录交互工程调用的RPC函数,以完成登录、注销、获取用户头像等特定的登录功能;
动态链接数据库,所述动态链接数据库中至少包括立初始化接口、开始登录接口、注销登录接口、获取登录用户信息接口、登录结果返回接口等与登录相关的功能接口,所述接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现;
登录处理部,用于当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库的相应功能接口完成UI交互,并将登录结果返回给所述主程序。
8.如权利要求9所述的装置,其特征在于,所述动态链接数据库包括:
初始化接口,用于获取所述登录进程需要的参数,包括客户端名字、类型、加密字符串、RPC通信关键字等,并在初始化成功后返回一个接口类指针,供其它接口使用;
开始登录接口,用于响应接口类指针,实现所述主程序的开始登录功能;
注销登录接口,用于响应接口类指针,实现所述主程序的注销登录功能;
获取登录用户信息接口,用于响应接口类指针,实现与登录相关的功能;
登录结果返回接口,用于将所述登录进程结束时的接口类指针返回给所述主程序。
9.一种登录处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:创建登录交互工程,用于弹出对话框、接受输入用户名密码、请求登录服务器、接受登录返回的结果、注销登录等等与登录相关的逻辑操作的功能;
创建RPC通信工程,用于注册可供所述登录交互工程调用的RPC函数,以完成登录、注销、获取用户头像等等特定的登录功能;
创建所述主程序控制所述登录交互工程的动态链接数据库,所述动态链接数据库中至少包括立初始化接口、开始登录接口、注销登录接口、获取登录用户信息接口、登录结果返回接口等与登录相关的功能接口,所述接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现;
当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库的相应功能接口完成UI交互,并将登录结果返回给所述主程序。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,
该程序被处理器执行时实现以下步骤:创建登录交互工程,用于弹出对话框、接受输入用户名密码、请求登录服务器、接受登录返回的结果、注销登录等等与登录相关的逻辑操作的功能;
创建RPC通信工程,用于注册可供所述登录交互工程调用的RPC函数,以完成登录、注销、获取用户头像等等特定的登录功能;
创建所述主程序控制所述登录交互工程的动态链接数据库,所述动态链接数据库中至少包括立初始化接口、开始登录接口、注销登录接口、获取登录用户信息接口、登录结果返回接口等与登录相关的功能接口,所述接口均通过所述登录交互工程调用所述RPC通信工程中注册的函数来实现;
当所述主程序接收到登录请求时,通过所述动态链接数据库的初始化接口启动所述登录交互工程,由所述登录交互工程直接调用所述动态链接数据库的相应功能接口完成UI交互,并将登录结果返回给所述主程序。
CN201710527700.XA 2017-06-30 2017-06-30 用于windows客户端程序的登录处理方法和装置 Active CN109213546B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710527700.XA CN109213546B (zh) 2017-06-30 2017-06-30 用于windows客户端程序的登录处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710527700.XA CN109213546B (zh) 2017-06-30 2017-06-30 用于windows客户端程序的登录处理方法和装置

Publications (2)

Publication Number Publication Date
CN109213546A true CN109213546A (zh) 2019-01-15
CN109213546B CN109213546B (zh) 2021-09-07

Family

ID=64991708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710527700.XA Active CN109213546B (zh) 2017-06-30 2017-06-30 用于windows客户端程序的登录处理方法和装置

Country Status (1)

Country Link
CN (1) CN109213546B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026487A (zh) * 2019-12-05 2020-04-17 国网山东省电力公司 一种基于rcp混合结构的财务悬浮系统

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020112058A1 (en) * 2000-12-01 2002-08-15 Microsoft Corporation Peer networking host framework and hosting API
CN1848774A (zh) * 2005-04-11 2006-10-18 华为技术有限公司 一种远程调用通信组件的系统及方法
US20090113420A1 (en) * 2007-10-26 2009-04-30 Brian Pawlowski System and method for utilizing a virtualized compute cluster as an execution engine for a virtual machine of a storage system cluster
CN101795289A (zh) * 2009-12-30 2010-08-04 华为技术有限公司 一种远程过程调用控制方法、装置和系统
CN102624737A (zh) * 2012-03-27 2012-08-01 武汉理工大学 单点登录系统中针对Form身份鉴别的单点登录集成方法
US20120284632A1 (en) * 2011-05-06 2012-11-08 Cisco Technology, Inc. Integrated Rendering of Streaming Media in Virtualized Desktop Environment
CN103051468A (zh) * 2011-09-09 2013-04-17 微软公司 网络接口设备的操作系统管理
CN103309830A (zh) * 2013-07-08 2013-09-18 哈尔滨工业大学 VxWorks操作系统下CPCI总线CAN通信模块的驱动器及驱动方法
US20140026057A1 (en) * 2012-07-23 2014-01-23 Vmware, Inc. Providing access to a remote application via a web client
US20150268936A1 (en) * 2014-03-21 2015-09-24 Ptc Inc. System and method for testing computing devices in a heterogeneous environment
CN105100054A (zh) * 2015-05-29 2015-11-25 北京奇虎科技有限公司 一种客户端的登录方法和装置
CN103001770B (zh) * 2012-10-24 2016-06-01 北京奇虎科技有限公司 一种用户验证方法、服务器及系统
CN106101090A (zh) * 2016-06-07 2016-11-09 中国建设银行股份有限公司 用于规则引擎的操作方法以及规则引擎系统
US20160357539A1 (en) * 2015-06-05 2016-12-08 Apple Inc. Device context monitoring
CN106575241A (zh) * 2014-06-16 2017-04-19 亚马逊技术股份有限公司 移动和远程运行时集成
CN106612290A (zh) * 2017-01-19 2017-05-03 河海大学 一种面向系统集成的跨域单点登录方法

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020112058A1 (en) * 2000-12-01 2002-08-15 Microsoft Corporation Peer networking host framework and hosting API
CN1848774A (zh) * 2005-04-11 2006-10-18 华为技术有限公司 一种远程调用通信组件的系统及方法
US20090113420A1 (en) * 2007-10-26 2009-04-30 Brian Pawlowski System and method for utilizing a virtualized compute cluster as an execution engine for a virtual machine of a storage system cluster
CN101795289A (zh) * 2009-12-30 2010-08-04 华为技术有限公司 一种远程过程调用控制方法、装置和系统
US20120284632A1 (en) * 2011-05-06 2012-11-08 Cisco Technology, Inc. Integrated Rendering of Streaming Media in Virtualized Desktop Environment
CN103051468A (zh) * 2011-09-09 2013-04-17 微软公司 网络接口设备的操作系统管理
CN102624737A (zh) * 2012-03-27 2012-08-01 武汉理工大学 单点登录系统中针对Form身份鉴别的单点登录集成方法
US20140026057A1 (en) * 2012-07-23 2014-01-23 Vmware, Inc. Providing access to a remote application via a web client
CN103001770B (zh) * 2012-10-24 2016-06-01 北京奇虎科技有限公司 一种用户验证方法、服务器及系统
CN103309830A (zh) * 2013-07-08 2013-09-18 哈尔滨工业大学 VxWorks操作系统下CPCI总线CAN通信模块的驱动器及驱动方法
US20150268936A1 (en) * 2014-03-21 2015-09-24 Ptc Inc. System and method for testing computing devices in a heterogeneous environment
CN106575241A (zh) * 2014-06-16 2017-04-19 亚马逊技术股份有限公司 移动和远程运行时集成
CN105100054A (zh) * 2015-05-29 2015-11-25 北京奇虎科技有限公司 一种客户端的登录方法和装置
US20160357539A1 (en) * 2015-06-05 2016-12-08 Apple Inc. Device context monitoring
CN106101090A (zh) * 2016-06-07 2016-11-09 中国建设银行股份有限公司 用于规则引擎的操作方法以及规则引擎系统
CN106612290A (zh) * 2017-01-19 2017-05-03 河海大学 一种面向系统集成的跨域单点登录方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
NOSTOP: "动态链接库两种调用方式的比较", 《HTTPS://WWW.CNBLOGS.COM/OANDG5/P/3335988.HTML》 *
冯新扬;沈建京;范颖: "基于XFire的Web服务客户端编程模型比较分析", 《河南广播电视大学学报》 *
陈雄姿;龙辛;黄波;朱方镇;戴建利: "嵌入式软PLC控制系统中RPC的设计与实现", 《机械工程与自动化》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026487A (zh) * 2019-12-05 2020-04-17 国网山东省电力公司 一种基于rcp混合结构的财务悬浮系统
CN111026487B (zh) * 2019-12-05 2023-09-29 国网山东省电力公司 一种基于rcp混合结构的财务悬浮系统

Also Published As

Publication number Publication date
CN109213546B (zh) 2021-09-07

Similar Documents

Publication Publication Date Title
US8392981B2 (en) Software firewall control
US10986134B2 (en) Methods and apparatus for graphical user interface environment for creating threat response courses of action for computer networks
US10983898B2 (en) Methods for improved web application testing using remote headless browsers and devices thereof
US11343326B2 (en) Techniques for implementing persistently interactive software robots
US10229203B2 (en) Social media bot to representational state transfer (REST) proxy for data systems
US10116596B2 (en) Personalizing data system components and data sources as chatbots in a group chat session
US11503028B2 (en) Secure remote troubleshooting of private cloud
WO2019085184A1 (zh) 会议板书文件的管理方法、装置、显示装置及存储介质
US20100077090A1 (en) Fast switching between multiple user sessions
WO2020253386A1 (zh) 应用程序处理方法、装置、电子设备及存储介质
US20200356394A1 (en) Replaying Operations on Widgets in a Graphical User Interface
US10324745B2 (en) Thin client with managed profile-specific remote virtual machines
Beaumont et al. The cross domain desktop compositor: Using hardware-based video compositing for a multi-level secure user interface
US10715513B2 (en) Single sign-on mechanism on a rich client
CN107908332A (zh) 一种应用内文本复制方法、复制装置、存储介质和电子设备
CN109213546A (zh) 用于windows客户端程序的登录处理方法和装置
CN102984044A (zh) 基于虚拟专用网络实现数据传输安全性的方法和装置
CN105577828B (zh) 一种远程重定向方法和装置
US9058225B2 (en) Secure and reliable mechanism to provide a single object instance in a clustered system
US20230083996A1 (en) Access for resources during remote session
US11573747B2 (en) Systems and methods for a printer reverse redirector
JP2015158914A (ja) スクリーンショットを用いた移動体通信端末の遠隔サポート方法
CN109491715A (zh) 基于Windows NT的应用管理方法、装置及终端
US10680905B1 (en) Application help desk
CN111656349B (zh) 通过虚拟桌面管理机密信息和数据的访问和显示服务的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240202

Address after: Room 801, 85 Kefeng Road, Huangpu District, Guangzhou City, Guangdong Province

Patentee after: Yami Technology (Guangzhou) Co.,Ltd.

Country or region after: China

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240311

Address after: Room 201-1, North 2nd Floor, Main Building, Shuntian Industrial Park, No. 8, Mount Taishan Road, Jianye District, Nanjing City, Jiangsu Province, 210000

Patentee after: Nanjing Floating Point Intelligent Computing Digital Technology Co.,Ltd.

Country or region after: China

Address before: Room 801, 85 Kefeng Road, Huangpu District, Guangzhou City, Guangdong Province

Patentee before: Yami Technology (Guangzhou) Co.,Ltd.

Country or region before: China