CN113672403B - 信息***中的接口调用方法及接口调用装置、管理信息*** - Google Patents

信息***中的接口调用方法及接口调用装置、管理信息*** Download PDF

Info

Publication number
CN113672403B
CN113672403B CN202110876244.6A CN202110876244A CN113672403B CN 113672403 B CN113672403 B CN 113672403B CN 202110876244 A CN202110876244 A CN 202110876244A CN 113672403 B CN113672403 B CN 113672403B
Authority
CN
China
Prior art keywords
client
interface
proxy unit
file
proxy
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.)
Active
Application number
CN202110876244.6A
Other languages
English (en)
Other versions
CN113672403A (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.)
Caxa Technology Co Ltd
Original Assignee
Caxa 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 Caxa Technology Co Ltd filed Critical Caxa Technology Co Ltd
Priority to CN202110876244.6A priority Critical patent/CN113672403B/zh
Publication of CN113672403A publication Critical patent/CN113672403A/zh
Application granted granted Critical
Publication of CN113672403B publication Critical patent/CN113672403B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution

Landscapes

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

Abstract

本发明公开了一种信息***中的接口调用方法及接口调用装置、管理信息***。在信息***的本地机器上部署有客户端和以独立进程运行的代理单元,在信息***的远程机器上部署有服务端其中,该接口调用方法包括:代理单元接收客户端发起的访问请求;若访问请求为从服务端下载文件,则通过代理单元调用本地***接口API将待下载的目标文件下载至指定目录中;若访问请求为启动第三方应用软件,则通过代理单元调用第三方接口API打开第三方应用软件,以利用第三方应用软件打开访问请求所携带的预设文件。本发明解决了相关技术中信息***在调用第三方应用时,需要传递较长的命令行参数,命令执行效率慢的技术问题。

Description

信息***中的接口调用方法及接口调用装置、管理信息***
技术领域
本发明涉及信息处理技术领域,具体而言,涉及一种信息***中的接口调用方法及接口调用装置、管理信息***。
背景技术
相关技术中,对于工艺产品设计软件来说,需要通过管理信息***来梳理产品、零部件、表格信息,管理信息***的多个应用场景都涉及到文件操作,如PDM***需要对制图软件得到的文件进行管理。当前,管理信息***在打开文件时,往往需要调用本地其它应用/软件,例如,第一种,通过在IE中嵌入ActiveX控件,将所需执行的本地操作写入ActiveX控件中,在IE中直接调用COM接口的方式来完成本地资源操作;或者,第二种,给操作***注册自定义协议,在浏览器中通过自定义协议的方式将命令行参数发送到第三方应用程序,然后第三方应用程序根据参数执行相应的操作。
但是上述调用其它接口或者打开第三方应用程序的方式都存在明显的弊端,对于上述第一种:在IE中嵌入ActiveX控件,只能在windows平台上使用,IE自身也是一个过时的技术,不再被维护,也无法有效支持较新的ES语言标准;对于上述第二种:给操作***注册自定义协议,本质上是给第三方应用程序传递一个命令行参数,如果需要进行大量交互,那么该命令行可能会比较长,解析复杂,且该种方式只能进行单向消息传递,可以发送指令到第三方应用程序,如果进行一个费时的操作,只能通过轮询的方式查询执行完成没有,这是非常低效的。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种信息***中的接口调用方法及接口调用装置、管理信息***,以至少解决相关技术中信息***在调用第三方应用时,需要传递较长的命令行参数,命令执行效率慢的技术问题。
根据本发明实施例的一个方面,提供了一种信息***中的接口调用方法,在所述信息***的本地机器上部署有客户端和以独立进程运行的代理单元,在所述信息***的远程机器上部署有服务端,接口调用方法包括:所述代理单元接收客户端发起的访问请求;若所述访问请求为从所述服务端下载文件,则通过所述代理单元调用本地***接口API将待下载的目标文件下载至指定目录中;若所述访问请求为启动第三方应用软件,则通过所述代理单元调用第三方接口API打开所述第三方应用软件,以利用所述第三方应用软件打开所述访问请求所携带的预设文件。
可选地,在所述代理单元接收客户端发起的访问请求之前,所述接口调用方法还包括:所述客户端向所述服务端发送通信请求,其中,在所述服务端中预先存储有访问白名单,所述访问白名单中包含有能够访问所述代理单元的客户端信息;所述客户端接收所述服务端返回的公钥信息,其中,所述公钥信息为所述代理单元的加密信息;所述客户端基于所述公钥信息,构建调用所述代理单元的通信协议。
可选地,在构建调用所述代理单元的通信协议之后,所述接口调用方法还包括:所述代理单元接收经过公钥加密的通信请求;所述代理单元在接收到所述通信请求后,通过私钥解密所述通信请求;若解密成功,则确定所述客户端为授信客户端,所述代理单元建立与所述客户端之间的通信关联关系;若解密失败,则确定所述客户端为非授信客户端,所述代理单元结束与所述客户端之间的通信操作。
可选地,所述通信协议包括:服务端的第一签名信息、被调用的接口API的接口信息、通信参数。
可选地,所述服务端还包括:代理注册服务单元,在所述代理单元接收客户端发起的访问请求之后,所述接口调用方法还包括:所述代理单元从所述代理注册服务单元下载注册配置文件;所述代理单元基于所述注册配置文件校验服务注册文件,其中,所述服务注册文件以通信协议中的ID为键值;若校验成功,则采用服务注册文件的文件内容解析所述注册配置文件,并将解析结果加载至本地内存。
可选地,所述注册配置文件的文件内容包括:第二签名信息、代理接口名称以及接口调用信息。
可选地,所述服务注册文件定义的内容包括:接口API的封装模式、封装文件名称、可调用的函数。
根据本发明实施例的另一方面,还提供了一种信息***中的接口调用装置,在所述信息***的本地机器上部署有客户端和以独立进程运行的代理单元,在所述信息***的远程机器上部署有服务端,接口调用装置包括:接收单元,用于所述代理单元接收客户端发起的访问请求;第一调用单元,用于在所述访问请求为从所述服务端下载文件时,通过所述代理单元调用本地***接口API将待下载的目标文件下载至指定目录中;第二调用单元,用于在所述访问请求为启动第三方应用软件时,通过所述代理单元调用第三方接口API打开所述第三方应用软件,以利用所述第三方应用软件打开所述访问请求所携带的预设文件。
可选地,所述信息***中的接口调用装置还包括:第一发送模块,用于在所述代理单元接收客户端发起的访问请求之前,所述客户端向所述服务端发送通信请求,其中,在所述服务端中预先存储有访问白名单,所述访问白名单中包含有能够访问所述代理单元的客户端信息;所述客户端接收所述服务端返回的公钥信息,其中,所述公钥信息为所述代理单元的加密信息;第一构建模块,用于所述客户端基于所述公钥信息,构建调用所述代理单元的通信协议。
可选地,所述信息***中的接口调用装置还包括:第一接收模块,用于在构建调用所述代理单元的通信协议之后,所述代理单元接收经过公钥加密的通信请求;第一解密模块,用于在所述代理单元在接收到所述通信请求后,通过私钥解密所述通信请求;第一确定模块,用于在解密成功时,则确定所述客户端为授信客户端,所述代理单元建立与所述客户端之间的通信关联关系;第二确定模块,用于在解密失败时,则确定所述客户端为非授信客户端,所述代理单元结束与所述客户端之间的通信操作。
可选地,所述通信协议包括:服务端的第一签名信息、被调用的接口API的接口信息、通信参数。
可选地,所述服务端还包括:代理注册服务单元,在所述代理单元接收客户端发起的访问请求之后,所述信息***中的接口调用装置还包括:下载模块,用于所述代理单元从所述代理注册服务单元下载注册配置文件;校验模块,用于所述代理单元基于所述注册配置文件校验服务注册文件,其中,所述服务注册文件以通信协议中的ID为键值;解析模块,用于在校验成功时,则采用服务注册文件的文件内容解析所述注册配置文件,并将解析结果加载至本地内存。
可选地,所述注册配置文件的文件内容包括:第二签名信息、代理接口名称以及接口调用信息。
可选地,所述服务注册文件定义的内容包括:接口API的封装模式、封装文件名称、可调用的函数。
根据本发明实施例的另一方面,还提供了一种管理信息***,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的信息***中的接口调用方法。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的信息***中的接口调用方法。
本发明实施例中,采用代理单元接收客户端发起的访问请求,若访问请求为从服务端下载文件,则通过代理单元调用本地***接口API将待下载的目标文件下载至指定目录中,若访问请求为启动第三方应用软件,则通过代理单元调用第三方接口API打开第三方应用软件,以利用第三方应用软件打开访问请求所携带的预设文件。在该实施例中,提供以独立进程后台服务运行的代理单元,绕过浏览器限制,通过该代理单元调用第三方应用软件打开文件,也可通过该代理单元直接下载文件至指定目录,文件打开速度快,从而解决相关技术中信息***在调用第三方应用时,需要传递较长的命令行参数,命令执行效率慢的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的信息***中的接口调用方法的流程图;
图2是根据本发明实施例的一种可选的管理信息***的接口调用的整体结构示意图;
图3是根据本发明实施例的一种可选的客户端与受限接口代理之间的通信示意图;
图4是根据本发明实施例的一种可选的信息***中的接口调用装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或者名词做出解释:
管理信息***:PDM、PLM、图文档、MES、工艺数据管理、ERP、OA,文中简称***;
受限接口:运行在浏览器中Web应用无法调用的接口,包括:操作***接口、第三方应用接口,这些接口称为受限接口。
本发明可以应用于各种信息***中,例如,管理信息***-PDM、PLM、ERP,通过管理信息***能够实现对工艺产品的设计数据的整理。相对于现有技术中在通过第三方应用程序打开***文件时,需要传递较长的命令行参数,且只能进行单向消息传递的弊端,本发明提供一种以独立进程后台服务运行的代理单元,保证客户***安全条件下,绕过浏览器限制,调用第三方应用软件打开文件,或者通过代理单元调用本地***接口API将待下载的***文件下载至指定目录中(现有技术中无法直接下载至指定目录),提高文件打开效率和下载精准度,提高用户的使用满意度。下面结合各个实施例来详细说明本发明。
实施例一
根据本发明实施例,提供了一种信息***中的接口调用方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例提供了一种信息***中的接口调用方法,在信息***的本地机器上部署有客户端和以独立进程运行的代理单元,在信息***的远程机器上部署有服务端。
图1是根据本发明实施例的一种可选的信息***中的接口调用方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,代理单元接收客户端发起的访问请求;
步骤S104,若访问请求为从服务端下载文件,则通过代理单元调用本地***接口API将待下载的目标文件下载至指定目录中;
步骤S106,若访问请求为启动第三方应用软件,则通过代理单元调用第三方接口API打开第三方应用软件,以利用第三方应用软件打开访问请求所携带的预设文件。
通过上述步骤,可以代理单元接收客户端发起的访问请求;若访问请求为从服务端下载文件,则通过代理单元调用本地***接口API将待下载的目标文件下载至指定目录中;若访问请求为启动第三方应用软件,则通过代理单元调用第三方接口API打开第三方应用软件,以利用第三方应用软件打开访问请求所携带的预设文件。在该实施例中,提供以独立进程后台服务运行的代理单元,绕过浏览器限制,通过该代理单元调用第三方应用软件打开文件,也可通过该代理单元直接下载文件至指定目录,文件打开速度快,从而解决相关技术中信息***在调用第三方应用时,需要传递较长的命令行参数,命令执行效率慢的技术问题。
本实施例中,信息***分成两个部分:
第一部分:远程机器,部署“信息***服务端”,简称“服务端”;
第二部分,本地机器,运行“信息***客户端”,包括:浏览器中运行的功能界面,简称“客户端”;受限接口代理,简称“代理单元”。代理单元每次启动都需要从代理服务注册服务下载注册配置文件,在启动代理单元后,其只监听localhost请求(本地地址之间的通讯;环回地址),防止被远程恶意调用。
可选的,本实施例中设定本地***接口API(能够将待下载的目标文件从服务端下载至本地操作***的指定目录中)和第三方接口API(连接第三方应用软件,能够通过第三方应用软件打开访问请求所携带的预设文件)这两个统称为受限接口,该受限接口的调用主体为本申请中的代理单元(即受限接口代理)。
本实施例中,将管理信息***由桌面应用迁移到浏览器内,由于在浏览器内执行时,无法直接调用操作***接口等浏览器受限接口(如制图软件),此时需要通过第三方接口API调用第三方应用软件,例如,对于制图软件,无法支持网页浏览,只能通过第三方接口API将文件路径传给该制图软件(第三方应用软件),启动进程,打开文件路径对应的预设文件。同时,本地操作***在下载文件时,需要通过本地机器上的本地***接口API调用exe程序执行下载动作,下载到指定目录。
本实施例为用户提供了信息***,该信息***的前端界面可以展示各种虚拟控件、输入框,提供文件下载(例如,下载至本地操作***的指定目录中)、文件打开(例如,通过第三方应用软件打开该文件)、文件录入、文件删除、文件上传等功能。用户通过该前端接口可以发起访问请求,实现文件下载、文件打开。例如,从***服务端下载文档到本地指定目录;或者***客户端启动第三方应用软件打开图纸。
代理单元在本地机器以独立进程后台服务运行,因此可以绕过浏览器限制,调用受限接口。当“客户端”需要调用受限接口时,如需要启动第三方应用软件打开图纸时,向“代理单元发起请求,代理单元调用第三方接口打开文件。对服务端来说,代理单元是其客户端,这要求代理单元需要权限控制,防止代理单元被非受信***调用,进而调用服务端获取重要信息;代理单元服务注册受控,防止恶意修改服务注册配置,获取重要信息。对客户端来说,代理单元是其服务端,这要求代理单元提供服务可扩展。
下面结合上述各实施步骤来详细说明本实施例。
可选的,在代理单元接收客户端发起的访问请求之前,接口调用方法还包括:客户端向服务端发送通信请求,其中,在服务端中预先存储有访问白名单,访问白名单中包含有能够访问代理单元的客户端信息;客户端接收服务端返回的公钥信息,其中,公钥信息为代理单元的加密信息;客户端基于公钥信息,构建调用代理单元的通信协议。
对服务端来说,代理单元是其客户端,这要求代理单元需要权限控制(通过访问白名单来确定需要控制的客户端),防止代理单元被非受信***调用,进而调用服务端获取重要信息;代理单元服务注册受控,防止恶意修改服务注册配置,获取重要信息。对客户端来说,代理单元是其服务端,这要求代理单元提供服务可扩展。
另一种可选的,在构建调用代理单元的通信协议之后,接口调用方法还包括:代理单元接收经过公钥加密的通信请求;代理单元在接收到通信请求后,通过私钥解密通信请求;若解密成功,则确定客户端为授信客户端,代理单元建立与客户端之间的通信关联关系;若解密失败,则确定客户端为非授信客户端,代理单元结束与客户端之间的通信操作。
本实施例中,客户端与代理单元之间可以采用非对称加密通信,其中,公钥存储在服务端,只有服务端信任的客户端才可以访问代理单元,其中,服务端集中管理安全性非常高。按照协议格式构建通信协议,并用公钥加密,保障通信安全,因为通信中访问“服务端”的token(签名信息)。私钥能否解密,决定发起请求者是否可信任。
客户端在从信息***(客户端部署)获取代理单元的公钥后,构建调用通信协议,整个通信协议用获取的公钥加密,代理单元之后通过私钥解密协议,如果解密成功,表征发送通信协议的信息***为授信***,根据协议调用服务(此时客户端可以使用代理单元调用本地操作***API和第三方接口API);如果解密失败,则表征发送通信协议的信息***为非授信***,结束与该信息***的操作。
可选的,通信协议包括:服务端的第一签名信息(即token信息,用来访问信息***服务端)、被调用的接口API的接口信息(需要调用的受限接口名称)、通信参数(参数内容由代理单元解释,例如,C://32泵.exb)。
代理单元作为浏览器中的信息***服务端,需要一套统一的通信协议,协议可以是XML、JSON、protobuf等格式,其内容可以包括:
步骤S102,代理单元接收客户端发起的访问请求。
访问请求的内容可以是指访问本地机器中的操作***(例如,本机上的exe程序)下载文件至指定目录或者访问第三方应用软件打开文件路径的文件。例如,通过操作***API将目标文件从服务端下载至操作***的指定目录;或者,对于制图软件,可以通过第三方应用API访问该第三方软件,第三方软件利用文件路径打开预设文件。
步骤S104,若访问请求为从服务端下载文件,则通过代理单元调用本地***接口API将待下载的目标文件下载至指定目录中。
步骤S106,若访问请求为启动第三方应用软件,则通过代理单元调用第三方接口API打开第三方应用软件,以利用第三方应用软件打开访问请求所携带的预设文件。
可选的,服务端还包括:代理注册服务单元,在代理单元接收客户端发起的访问请求之后,接口调用方法还包括:代理单元从代理注册服务单元下载注册配置文件;代理单元基于注册配置文件校验服务注册文件,其中,服务注册文件以通信协议中的ID为键值;若校验成功,则采用服务注册文件的文件内容解析注册配置文件,并将解析结果加载至本地内存。
代理单元包括:代理服务注册服务,用来管理服务注册文件,通过此服务获取、更新服务注册文件。可选地,注册配置文件的文件内容包括:第二签名信息、代理接口名称以及接口调用信息。
可选地,服务注册文件定义的内容包括:接口API的封装模式、封装文件名称、可调用的函数。
代理服务注册服务(编程语言不受限制)确定用哪个函数来执行;通过修改代理服务注册文件,实现不修改代码动态扩展代理服务功能。代理服务注册文件可以是XML、JSON等格式,以通信协议中ID为键值,实现定义为内容。
代理服务注册文件实现定义包括:
1)type:受限接口通过哪种技术进行封装,如dll导出函数、python脚本等;
2)file:封装文件名称;
3)function:可调用的函数。
服务注册文件所有register内容进行数字签名,并通过“代理服务注册服务”存储与发放。
通过上述实施例,在信息***的本地机器提供一种以独立进程后台服务运行的代理单元,代理单元可以与各个客户端通信连接,代理单元可绕过浏览器限制,调用第三方应用软件打开文件,或者通过代理单元调用本地***接口API将待下载的***文件下载至指定目录中,提高文件打开效率和下载精准度,提高用户的使用满意度。
下面结合另一种可选的实施例来说明本发明。
实施例二
图2是根据本发明实施例的一种可选的管理信息***的接口调用的整体结构示意图,如图2所示,包括:本地机器和远程机器,远程机器内运行有服务端(管理信息***服务端,与客户端对接)和代理服务注册服务(提供代理的注册功能),本地机器运行有管理信息***客户端和受限接口,管理信息***客户端上运行有浏览器(管理信息***,以B/S模式运行,简称客户端)和受限接口代理(简称:代理,即上述实施例一中的代理单元),而受限接口包括:操作***API(对应上述实施例一的本地***接口API)和第三方API(对应上述实施例一的第三方接口API)。
如图2所示,管理信息***的结构分成两个部分:
1)远程机器部署的是“管理信息***服务端”简称“服务端”;
2)本地机器运行的是“管理信息***客户端”,包括:
a)浏览器中运行的功能界面,简称“客户端”;
b)受限接口代理,简称“代理”;
本实施例的核心模块是“受限接口代理”。受限代理由两部分组成:
1)代理服务注册服务,用来管理“代理”服务注册文件,下文有描述。所有“代理”通过此服务获取、更新服务注册文件。
2)“代理”在本地机器以独立进程后台服务运行,因此可以绕过浏览器限制,调用受限接口。当“客户端”需要调用受限接口时,例如,在需要启动CAD软件打开图纸时,向“代理”发起请求,“代理”调用CAD接口打开文件。对“服务端”来说,“代理”是其客户端,这要求“代理”需要权限控制,防止“代理”被非受信***调用,进而调用“服务端”获取重要信息;“代理”服务注册受控,防止恶意修改服务注册配置,获取重要信息。对“客户端”来说,“代理”是其服务端,这要求“代理”提供服务可扩展。
“代理”启动方式:“代理”每次启动都需要从“代理服务注册服务”下载注册配置文件,在启动后只监听localhost请求(监听本地地址之间的通讯),防止被远程恶意调用。
图3是根据本发明实施例的一种可选的客户端与受限接口代理之间的通信示意图,如图3所示,
步骤S1:从管理信息***“代理”公钥;
“客户端”与“代理”采用非对称加密通信,其中公钥存储在“服务端”,只有“服务端”信任的客户端才可以访问“代理”,因为“服务端”集中管理安全性非常高。
步骤S2:构建调用通信协议,整个通信协议用S1获取的公钥加密。
按照协议格式构建通信协议,并用公钥加密,保障通信安全,因为通信中访问“服务端”的token(签名信息)。
步骤S3:“代理”用私钥解密协议。
私钥能否解密,决定发起请求者是否可信任。
步骤S4:判断解密是否成功。
若是,执行步骤S5,若否,执行步骤S6。
若是解密成功,表征该管理信息***为授信***。
步骤S5,根据协议调用服务。即以浏览器模式(B/S模式)运行的管理信息***可以根据调用通信协议调用受限接口,打开预设文件或者下载目标文件。
步骤S6,若否,确定管理信息***为非授信***。
下面定义通信协议的数据格式:
受限接口代理作为浏览器中的管理信息***服务端,需要一套统一的通信协议,协议可以是XML、JSON、protobuf等格式,其内容至少包括:
代理服务注册(编程语言不受限制)确定用哪个函数来执行;
通过修改代理服务注册文件,实现不修改代码动态扩展代理服务功能。代理服务注册文件可以是XML、JSON等格式,以通信协议中ID为键值,实现定义为内容。实现定义包括:
1)type:受限接口通过哪种技术进行封装,如dll导出函数、python脚本等;
2)file:封装文件名称;
3)function:可调用的函数。
服务注册文件所有register内容进行数字签名,并通过“代理服务注册服务”存储与发放。
通过上述实施例,在管理信息***的本地机器提供一种以独立进程后台服务运行的受限接口代理,的受限接口代理可以与各个客户端通信连接,的受限接口代理可绕过浏览器限制,调用第三方应用软件打开文件,或者通过的受限接口代理调用本地***接口API将待下载的***文件下载至指定目录中,提高文件打开效率和下载精准度,提高用户的使用满意度。
下面结合另一种可选的实施例来说明本发明。
实施例三
本实施例提供了一种信息***中的接口调用装置,该装置中包含了多个实施单元,每个实施单元对应于上述实施例一的各个实施步骤。信息***中的接口调用装置,在信息***的本地机器上部署有客户端和以独立进程运行的代理单元,在信息***的远程机器上部署有服务端。
图4是根据本发明实施例的一种可选的信息***中的接口调用装置的示意图,如图4所示,该接口调用装置包括:接收单元41、第一调用单元43、第二调用单元45,其中,
接收单元41,用于代理单元接收客户端发起的访问请求;
第一调用单元43,用于在访问请求为从服务端下载文件时,通过代理单元调用本地***接口API将待下载的目标文件下载至指定目录中;
第二调用单元45,用于在访问请求为启动第三方应用软件时,通过代理单元调用第三方接口API打开第三方应用软件,以利用第三方应用软件打开访问请求所携带的预设文件。
上述信息***中的接口调用装置,可以通过接收单元41代理单元接收客户端发起的访问请求,通过第一调用单元43在访问请求为从服务端下载文件,通过代理单元调用本地***接口API将待下载的目标文件下载至指定目录中,通过第二调用单元45在访问请求为启动第三方应用软件时,通过代理单元调用第三方接口API打开第三方应用软件,以利用第三方应用软件打开访问请求所携带的预设文件。在该实施例中,提供以独立进程后台服务运行的代理单元,绕过浏览器限制,通过该代理单元调用第三方应用软件打开文件,也可通过该代理单元直接下载文件至指定目录,文件打开速度快,从而解决相关技术中信息***在调用第三方应用时,需要传递较长的命令行参数,命令执行效率慢的技术问题。
可选的,信息***中的接口调用装置还包括:第一发送模块,用于在代理单元接收客户端发起的访问请求之前,客户端向服务端发送通信请求,其中,在服务端中预先存储有访问白名单,访问白名单中包含有能够访问代理单元的客户端信息;客户端接收服务端返回的公钥信息,其中,公钥信息为代理单元的加密信息;第一构建模块,用于客户端基于公钥信息,构建调用代理单元的通信协议。
可选的,信息***中的接口调用装置还包括:第一接收模块,用于在构建调用代理单元的通信协议之后,代理单元接收经过公钥加密的通信请求;第一解密模块,用于在代理单元在接收到通信请求后,通过私钥解密通信请求;第一确定模块,用于在解密成功时,则确定客户端为授信客户端,代理单元建立与客户端之间的通信关联关系;第二确定模块,用于在解密失败时,则确定客户端为非授信客户端,代理单元结束与客户端之间的通信操作。
可选的,通信协议包括:服务端的第一签名信息、被调用的接口API的接口信息、通信参数。
可选的,服务端还包括:代理注册服务单元,在代理单元接收客户端发起的访问请求之后,信息***中的接口调用装置还包括:下载模块,用于代理单元从代理注册服务单元下载注册配置文件;校验模块,用于代理单元基于注册配置文件校验服务注册文件,其中,服务注册文件以通信协议中的ID为键值;解析模块,用于在校验成功时,则采用服务注册文件的文件内容解析注册配置文件,并将解析结果加载至本地内存。
可选地,注册配置文件的文件内容包括:第二签名信息、代理接口名称以及接口调用信息。
可选地,服务注册文件定义的内容包括:接口API的封装模式、封装文件名称、可调用的函数。
上述的信息***中的接口调用装置还可以包括处理器和存储器,上述接收单元41、第一调用单元43、第二调用单元45等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来在访问请求为启动第三方应用软件时,通过代理单元调用第三方接口API打开第三方应用软件,以利用第三方应用软件打开访问请求所携带的预设文件数。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本发明实施例的另一方面,还提供了一种管理信息***,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的信息***中的接口调用方法。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的信息***中的接口调用方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:代理单元接收客户端发起的访问请求;若访问请求为从服务端下载文件,则通过代理单元调用本地***接口API将待下载的目标文件下载至指定目录中;若访问请求为启动第三方应用软件,则通过代理单元调用第三方接口API打开第三方应用软件,以利用第三方应用软件打开访问请求所携带的预设文件。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种信息***中的接口调用方法,其特征在于,在所述信息***的本地机器上部署有客户端和以独立进程运行的代理单元,在所述信息***的远程机器上部署有服务端,接口调用方法包括:
所述代理单元接收客户端发起的访问请求;
若所述访问请求为从所述服务端下载文件,则通过所述代理单元调用本地***接口API将待下载的目标文件下载至指定目录中;
若所述访问请求为启动第三方应用软件,则通过所述代理单元调用第三方接口API打开所述第三方应用软件,以利用所述第三方应用软件打开所述访问请求所携带的预设文件,
在所述代理单元接收客户端发起的访问请求之前,所述接口调用方法还包括:所述客户端向所述服务端发送通信请求,其中,在所述服务端中预先存储有访问白名单,所述访问白名单中包含有能够访问所述代理单元的客户端信息;所述客户端接收所述服务端返回的公钥信息,其中,所述公钥信息为所述代理单元的加密信息;所述客户端基于所述公钥信息,构建调用所述代理单元的通信协议。
2.根据权利要求1所述的接口调用方法,其特征在于,在构建调用所述代理单元的通信协议之后,所述接口调用方法还包括:
所述代理单元接收经过公钥加密的通信请求;
所述代理单元在接收到所述通信请求后,通过私钥解密所述通信请求;
若解密成功,则确定所述客户端为授信客户端,所述代理单元建立与所述客户端之间的通信关联关系;
若解密失败,则确定所述客户端为非授信客户端,所述代理单元结束与所述客户端之间的通信操作。
3.根据权利要求1所述的接口调用方法,其特征在于,所述通信协议包括:服务端的第一签名信息、被调用的接口API的接口信息以及通信参数。
4.根据权利要求1所述的接口调用方法,其特征在于,所述服务端还包括:代理注册服务单元,在所述代理单元接收客户端发起的访问请求之后,所述接口调用方法还包括:
所述代理单元从所述代理注册服务单元下载注册配置文件;
所述代理单元基于所述注册配置文件校验服务注册文件,其中,所述服务注册文件以通信协议中的ID为键值;
若校验成功,则采用服务注册文件的文件内容解析所述注册配置文件,并将解析结果加载至本地内存。
5.根据权利要求4所述的接口调用方法,其特征在于,所述注册配置文件的文件内容包括:第二签名信息、代理接口名称以及接口调用信息。
6.根据权利要求4所述的接口调用方法,其特征在于,所述服务注册文件定义的内容包括:接口API的封装模式、封装文件名称以及可调用的函数。
7.一种信息***中的接口调用装置,其特征在于,在所述信息***的本地机器上部署有客户端和以独立进程运行的代理单元,在所述信息***的远程机器上部署有服务端,接口调用装置包括:
接收单元,用于所述代理单元接收客户端发起的访问请求;
第一调用单元,用于在所述访问请求为从所述服务端下载文件时,通过所述代理单元调用本地***接口API将待下载的目标文件下载至指定目录中;
第二调用单元,用于在所述访问请求为启动第三方应用软件时,通过所述代理单元调用第三方接口API打开所述第三方应用软件,以利用所述第三方应用软件打开所述访问请求所携带的预设文件,
所述信息***中的接口调用装置还包括:第一发送模块,用于在所述代理单元接收客户端发起的访问请求之前,所述客户端向所述服务端发送通信请求,其中,在所述服务端中预先存储有访问白名单,所述访问白名单中包含有能够访问所述代理单元的客户端信息;所述客户端接收所述服务端返回的公钥信息,其中,所述公钥信息为所述代理单元的加密信息;第一构建模块,用于所述客户端基于所述公钥信息,构建调用所述代理单元的通信协议。
8.一种管理信息***,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至6中任意一项所述的信息***中的接口调用方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至6中任意一项所述的信息***中的接口调用方法。
CN202110876244.6A 2021-07-30 2021-07-30 信息***中的接口调用方法及接口调用装置、管理信息*** Active CN113672403B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110876244.6A CN113672403B (zh) 2021-07-30 2021-07-30 信息***中的接口调用方法及接口调用装置、管理信息***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110876244.6A CN113672403B (zh) 2021-07-30 2021-07-30 信息***中的接口调用方法及接口调用装置、管理信息***

Publications (2)

Publication Number Publication Date
CN113672403A CN113672403A (zh) 2021-11-19
CN113672403B true CN113672403B (zh) 2024-03-29

Family

ID=78540930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110876244.6A Active CN113672403B (zh) 2021-07-30 2021-07-30 信息***中的接口调用方法及接口调用装置、管理信息***

Country Status (1)

Country Link
CN (1) CN113672403B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086393A (zh) * 2022-06-13 2022-09-20 卫宁健康科技集团股份有限公司 一种接口调用方法、装置、设备及存储介质
CN117278323B (zh) * 2023-11-16 2024-04-19 荣耀终端有限公司 第三方信息的获取方法、电子设备及可读存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209546A (ja) * 2000-01-27 2001-08-03 Ntt Comware Corp エージェント実行装置、エージェント管理装置、エージェント処理システム、エージェント実行方法およびエージェント管理方法
JP2005020580A (ja) * 2003-06-27 2005-01-20 Toshiba Tec Corp ネットワークシステム
CN101217449A (zh) * 2008-01-09 2008-07-09 金蝶软件(中国)有限公司 远程调用管理方法
CN101662503A (zh) * 2009-09-14 2010-03-03 金蝶软件(中国)有限公司 网络中的信息传输方法、代理服务器和服务***
CN104573554A (zh) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 加载安全密钥存储硬件的方法和浏览器客户端装置
KR20150062198A (ko) * 2013-11-28 2015-06-08 한국과학기술정보연구원 클라우드 스토리지 기반 작업 수행 시스템 및 방법
CN106161409A (zh) * 2015-04-23 2016-11-23 珀金埃尔默企业管理(上海)有限公司 一种包括本地组件的代理框架服务***及方法
CN106357814A (zh) * 2016-10-27 2017-01-25 北京华为数字技术有限公司 一种文件处理方法、代理服务端及客户端
CN106936579A (zh) * 2015-12-30 2017-07-07 航天信息股份有限公司 基于可信第三方代理的云存储数据存储及读取方法
CN107770139A (zh) * 2016-08-23 2018-03-06 北京计算机技术及应用研究所 基于第三方usbkey设备的samba身份认证方法
CN110071806A (zh) * 2019-03-13 2019-07-30 平安科技(深圳)有限公司 基于接口校验的数据处理的方法和***
CN110166800A (zh) * 2019-05-22 2019-08-23 北京奇艺世纪科技有限公司 视频回源方法、***、装置及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671155B2 (en) * 2009-10-19 2014-03-11 Ios Health Systems, Inc. System and method of employing a client side device to access local and remote data during communication distruptions

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209546A (ja) * 2000-01-27 2001-08-03 Ntt Comware Corp エージェント実行装置、エージェント管理装置、エージェント処理システム、エージェント実行方法およびエージェント管理方法
JP2005020580A (ja) * 2003-06-27 2005-01-20 Toshiba Tec Corp ネットワークシステム
CN101217449A (zh) * 2008-01-09 2008-07-09 金蝶软件(中国)有限公司 远程调用管理方法
CN101662503A (zh) * 2009-09-14 2010-03-03 金蝶软件(中国)有限公司 网络中的信息传输方法、代理服务器和服务***
KR20150062198A (ko) * 2013-11-28 2015-06-08 한국과학기술정보연구원 클라우드 스토리지 기반 작업 수행 시스템 및 방법
CN104573554A (zh) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 加载安全密钥存储硬件的方法和浏览器客户端装置
CN106161409A (zh) * 2015-04-23 2016-11-23 珀金埃尔默企业管理(上海)有限公司 一种包括本地组件的代理框架服务***及方法
CN106936579A (zh) * 2015-12-30 2017-07-07 航天信息股份有限公司 基于可信第三方代理的云存储数据存储及读取方法
CN107770139A (zh) * 2016-08-23 2018-03-06 北京计算机技术及应用研究所 基于第三方usbkey设备的samba身份认证方法
CN106357814A (zh) * 2016-10-27 2017-01-25 北京华为数字技术有限公司 一种文件处理方法、代理服务端及客户端
CN110071806A (zh) * 2019-03-13 2019-07-30 平安科技(深圳)有限公司 基于接口校验的数据处理的方法和***
CN110166800A (zh) * 2019-05-22 2019-08-23 北京奇艺世纪科技有限公司 视频回源方法、***、装置及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Design and Analysis of Enhanced HTTP Proxy Cashing Server;Vimal Bibhu 等;《International Journal of Computer Science and Information Technologies》;第110-113页 *
基于代理的并行文件***元数据优化与实现;易建亮 等;《计算机研究与发展》;第438-446页 *

Also Published As

Publication number Publication date
CN113672403A (zh) 2021-11-19

Similar Documents

Publication Publication Date Title
US11762986B2 (en) System for securing software containers with embedded agent
JP5534520B2 (ja) スマートカードにブラウザベースでアクセスするシステムおよび方法
US8230415B1 (en) On-demand advertising of software packages
EP2871573B1 (en) Dynamic Containerization
TWI598814B (zh) 用於管理及診斷配備有統一可延伸韌體介面(uefi)相容韌體的計算裝置之系統與方法
US8856862B2 (en) Message processing methods and systems
US7716719B2 (en) System and method for providing application services with controlled access into privileged processes
US8769268B2 (en) System and methods providing secure workspace sessions
JP4734592B2 (ja) クライアントリダイレクトによるプライベートネットワークへの安全なアクセス提供方法およびシステム
US9521119B2 (en) Extensible access control architecture
CN113672403B (zh) 信息***中的接口调用方法及接口调用装置、管理信息***
US20210209221A1 (en) System for securing software containers with encryption and embedded agent
WO2016086767A1 (zh) 实现浏览器安全的方法、浏览器客户端和装置
US20170003960A1 (en) System and method for automatic porting of software applications into a cloud computing environment
EP3345112B1 (en) Thresholds on scripts executable by unified extensible firmware interface systems
CN110071933B (zh) 安全套接层加速方法、装置、设备及可读存储介质
KR19980079252A (ko) 서브릿을 처리하기 위한 장치 및 방법
US11281744B2 (en) Systems and methods for improved remote display protocol for HTML applications
CN113055492A (zh) 服务灰度链路的控制方法、装置、计算机设备和存储介质
Moshchuk et al. Content-based isolation: rethinking isolation policy design on client systems
US11227032B1 (en) Dynamic posture assessment to mitigate reverse engineering
FI106495B (fi) Verkkoelementti
CN106648770B (zh) 一种应用程序安装包的生成方法、加载方法及装置
CN115695400A (zh) 一种Web页面与本地应用交互的方法及终端
CN112636981B (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