CN111813573A - 管理平台与机器人软件的通信方法及其相关设备 - Google Patents
管理平台与机器人软件的通信方法及其相关设备 Download PDFInfo
- Publication number
- CN111813573A CN111813573A CN202010610235.8A CN202010610235A CN111813573A CN 111813573 A CN111813573 A CN 111813573A CN 202010610235 A CN202010610235 A CN 202010610235A CN 111813573 A CN111813573 A CN 111813573A
- Authority
- CN
- China
- Prior art keywords
- data
- robot software
- management platform
- database
- task
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Manipulator (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例属于人工智能技术领域,涉及一种管理平台与机器人软件的通信方法及其相关设备,包括在管理平台和机器人软件间设置分布式消息列队,第一分布式缓存,restful接口;在管理平台和第一数据库之间设置第二分布式缓存;收集管理平台与机器人软件之间的通信数据,将高频数据存储至第一分布式缓存,将常用数据存储至第二分布式缓存。当请求调用restful接口时,根据调用方和调用目的确定数据的传输方式;当请求获取第一数据库中的数据时,先从第二分布式缓存中,再从第一数据库中获取对应的数据。其中,机器人软件和管理平台之间的通信数据可存储于区块链节点中。本申请降低管理平台与机器人软件之间的交互压力,提升交互速度。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及管理平台与机器人软件的通信方法及其相关设备。
背景技术
随着计算机AI技术的发展,自动化机器人软件近年来而得到了快速而广泛的应用。自动化软件为企业生产及运作提升效率并节约更多的时间和成本,深受企业的青睐。
但是自动化机器人软件自身的管理能力较弱,仅能够提供简单的支持,灵活性有限,难以进行管理。现有的管理式平台存在灵活性不足的问题,当管理的自动化机器人软件数量较多时,自动化机器人软件与管理平台之间会出现交互速度不够,无法及时有效的调度的情况,完善的通讯框架和交互方式显得尤为重要。
发明内容
本申请实施例的目的在于提出一种管理平台与机器人软件的通信方法及其相关设备,降低管理平台与机器人软件之间的交互压力,提升交互速度。
为了解决上述技术问题,本申请实施例提供一种管理平台与机器人软件的通信方法,采用了如下所述的技术方案:
一种管理平台与机器人软件的通信方法,包括下述步骤:
在管理平台和机器人软件之间设置分布式消息列队和第一分布式缓存,并在所述管理平台和机器人软件之间设置restful接口;
将第一数据库和第二数据库分别部署到所述管理平台和机器人软件上,并在所述管理平台和第一数据库之间设置第二分布式缓存;
收集所述管理平台与所述机器人软件之间每次交互的通信数据,通过预设的算法确定所述通信数据中的高频数据,并将所述高频数据存储至所述第一分布式缓存中,将所述管理平台的常用数据存储至所述第二分布式缓存中;
当检测到所述管理平台或机器人软件请求调用所述restful接口时,识别调用接口的调用方,并获取所述请求中包含的调用目的;
若所述调用目的为发送数据,则检测被调用方的处理状态,根据所述被调用方的处理状态确定数据的传输方式;
若所述调用目的为获取数据,则检测所述请求获取的数据是否存在于所述第一分布式缓存中,若存在,则直接将所述第一分布式缓存中对应的数据传输给所述调用方,若不存在,则允许调用所述restful接口,以通过所述被调用方获取第二数据库或第一数据库中的数据,其中,所述调用方为所述管理平台或机器人软件,所述被调用方为所述机器人软件或管理平台;以及
当检测到所述管理平台请求获取所述第一数据库中的数据时,检测请求的数据是否存在于所述第二分布式缓存中,若是,则直接将所述第二分布式缓存中对应的数据传输给所述管理平台,若否,则在所述第一数据库中进行查找,并将对应的数据传输给所述管理平台。
进一步的,所述通过预设的算法确定所述通信数据中的高频数据的步骤包括:
通过预设的数据挖掘算法对所述通信数据进行统计;
将在通信数据中,同时出现在同一任务中的任意两个数据组成一个集合;
统计所有集合在所述通信数据中出现的频率;
若所述集合在所述通信数据中出现的频率大于预设的频率阈值,则将所述集合中的数据作为高频数据。
进一步的,发送的数据包括任务数据,所述检测被调用方的处理状态,根据所述被调用方的处理状态确定数据的传输方式的步骤包括:
检测所述机器人软件的运行状态;
若所述机器人软件的运行状态是空闲状态,则将所述任务数据直接传输至所述机器人软件;
若所述机器人软件的运行状态是繁忙状态,则将所述任务数据暂存至分布式消息列队中,等待所述机器人软件空闲时进行分发。
进一步的,所述将所述任务数据暂存至分布式消息列队中,等待所述机器人软件空闲时进行分发的步骤包括:
将所述任务数据暂存至分布式消息列队中,并实时监控对应的机器人软件的运行状态;
当监控到所述机器人软件中,正在执行的任务数据的数据量小于预设的数量阈值时,调取分布式消息列队中的任务数据,发送至机器人软件。
进一步的,所述将所述任务数据暂存至分布式消息列队中,并实时监控对应的机器人软件的运行状态,当监控到所述机器人软件中,正在执行的任务数据的数据量小于预设的数量阈值时,调取分布式消息列队中的任务数据,发送至机器人软件的步骤包括:
将所述任务数据暂存至分布式消息列队中,将数据量大于预设分发阈值的任务数据作为第一待传输数据,将数据量小于预设分发阈值的任务数据作为第二待传输数据,并实时监控对应的机器人软件的运行状态;
当监控到所述机器人软件中,正在执行的任务数据的数据量小于预设的数量阈值时,调取分布式消息列队中的第二待传输数据,发送至所述机器人软件;
当监控到所述机器人软件无执行任务时,调取分布式消息列队中的第一待传输数据,发送至所述机器人软件。
进一步的,所述检测所述机器人软件的运行状态的步骤包括:
解析任务数据,根据所述任务数据判定任务的类型;
根据所述类型选择执行的机器人软件;
检测所述机器人软件的运行状态。
进一步的,在所述将第一数据库和第二数据库分别部署到所述管理平台和机器人软件上,并在所述管理平台和第一数据库之间设置第二分布式缓存的步骤之后,还包括:
在所述管理平台和第一数据库之间设置分布式数据库中间件,通过所述分布式数据库中间件对所述第一数据库进行分库分表,生成至少一个分数据库,其中,所述分数据库包括分数据库名,且与所述分数据库名一一对应;
所述若否,则在所述第一数据库中进行查找的步骤包括:
通过所述数据库中间件解析所述请求携带的查询语句,提取查询语句中的部分字段;
根据预设的分库分表的算法对部分字段进行计算,得到至少一个分数据库名;
根据得到的分数据库名生成新的查询语句,执行新的查询语句获得数据。
为了解决上述技术问题,本申请实施例还提供一种管理平台与机器人软件的通信装置,采用了如下所述的技术方案:
一种管理平台与机器人软件的通信装置,包括:
第一设置模块,用于在管理平台和机器人软件之间设置分布式消息列队和第一分布式缓存,并在所述管理平台和机器人软件之间设置restful接口;
第二设置模块,用于将第一数据库和第二数据库分别部署到所述管理平台和机器人软件上,并在所述管理平台和第一数据库之间设置第二分布式缓存;
计算模块,用于收集所述管理平台与所述机器人软件之间每次交互的通信数据,通过预设的算法确定所述通信数据中的高频数据,并将所述高频数据存储至所述第一分布式缓存中,将所述管理平台的常用数据存储至所述第二分布式缓存中;
识别模块,用于当检测到所述管理平台或机器人软件请求调用所述restful接口时,识别调用接口的调用方,并获取所述请求中包含的调用目的;
第一检测模块,用于当所述调用目的为发送数据,检测被调用方的处理状态,根据所述被调用方的处理状态确定数据的传输方式;
第二检测模块,用于当所述调用目的为获取数据,检测所述请求获取的数据是否存在于所述第一分布式缓存中,若存在,则直接将所述第一分布式缓存中对应的数据传输给所述调用方,若不存在,则允许调用所述restful接口,以通过所述被调用方获取第二数据库或第一数据库中的数据,其中,所述调用方为所述管理平台或机器人软件,所述被调用方为所述机器人软件或管理平台;以及
第三检测模块,用于当检测到所述管理平台请求获取所述第一数据库中的数据时,检测请求的数据是否存在于所述第二分布式缓存中,若是,则直接将所述第二分布式缓存中对应的数据传输给所述管理平台,若否,则在所述第一数据库中进行查找,并将对应的数据传输给所述管理平台。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述的管理平台与机器人软件的通信方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,包括所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的管理平台与机器人软件的通信方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请的通信框架,可以使得管理平台与机器人软件之间高效通信。通过分布式消息列队的设置,防止机器人软件的负担过重,发生处理错误或者宕机的情况。通过将高频数据存储至第一分布式缓存中,降低了交互压力,有效的加快了管理平台与机器人软件之间的交互速度。将常用数据存储至第二分布式缓存中,在管理平台需要获取数据时,优先在第二分布式缓存中进行查找调用,降低频繁存储数据库中的数据造成的时延和负载压力。而接口采用Restful接口,简化互联网中的系统架构,快速实现客户端和服务器之间交互的松耦合,降低了客户端和服务器之间的交互延迟。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的管理平台与机器人软件的通信方法的一个实施例的流程图;
图3是根据本申请的管理平台与机器人软件的通信装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
附图标记:200、计算机设备;201、存储器;202、处理器;203、网络接口;300、管理平台与机器人软件的通信装置;301、第一设置模块;302、第二设置模块;303、计算模块;304、识别模块;305、第一检测模块;306、第二检测模块;307、第三检测模块。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的管理平台与机器人软件的通信方法一般由服务器/终端设备执行,相应地,管理平台与机器人软件的通信装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的管理平台与机器人软件的通信方法的一个实施例的流程图。所述的管理平台与机器人软件的通信方法,包括以下步骤:
S1:在管理平台和机器人软件之间设置分布式消息列队和第一分布式缓存,并在所述管理平台和机器人软件之间设置restful接口。
在本实施中,分布式消息队列可以采用Kafka,第一分布式缓存可以采用Redis。机器人软件可以是流程自动化软件,包括目前现有的Blue Prism、UiPath和AutomationAnywhere三大软件。管理平台软件架设在Windows服务器或者Linux服务器上,采用B/S(Browser/Server,浏览器/服务器模式)框架。机器人软件采用Windows下客户端的形式,使用机器人软件将一些重复性工作自动化完成。
本通信接口框架为HTTPS框架,接口风格采用Restful形式,在访问接口时,直接使用HTTP形式的地址即可。Restful形式的通信接口在满足安全性要求的同时,满足管理平台与流程自动化软件的安全快速交互。同时,管理平台的前端与后台服务器之间的交互也可以采用restful接口。
S2:将第一数据库和第二数据库分别部署到所述管理平台和机器人软件上,并在所述管理平台和第一数据库之间设置第二分布式缓存。
在本实施例中,第二分布式缓存可以采用Redis。通过第二分布式缓存,加速管理平台与数据库之间的交互速度、管理平台与流程自动化软件之间的交互,提升通信效率,提升管理平台软件的可用性、可维护性
S3:收集所述管理平台与所述机器人软件之间每次交互的通信数据,通过预设的算法确定所述通信数据中的高频数据,并将所述高频数据存储至所述第一分布式缓存中,将所述管理平台的常用数据存储至第二分布式缓存中。
在本实施例中,通过将高频数据存储至所述第一分布式缓存中,避免每次交互都需要从对方数据库内查找数据。通过将所述管理平台的常用数据存储至第二分布式缓存中,避免每次都需要从数据库中调取数据。将常用数据存储在第二分布式缓存中,可以降低频繁存储数据的时延和负载压力,常用数据的选择是根据业务需要来决定的,可以存储使用频率高的一些数据。具体可以是:识别管理平台每次从数据库中调用的数据,将其中调用次数超过阈值的数据设定为常用数据。
在另一实施例中,还可以将当前机器人软件正在处理的任务的详细数据放置在所述第一分布式缓存中,当机器人软件处理流程结束后,将该详细数据清空,等待缓存下一次的信息。那么在当前机器人软件执行任务的过程中,管理平台和机器人软件都可以根据实际需要直接访问第一分布式缓存,快速从中调用当前任务的详细数据,节省时间,其中,任务的详细数据(TaskInfo)包括任务序号(TaskID),任务名称(TaskName),任务的开始时间(StartTime),预计结束时间(EndTime)。
其中,机器人软件和管理平台之间的通信数据可存储于区块链节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
其中,在步骤S3中,即所述通过预设的算法确定所述通信数据中的高频数据的步骤包括:
通过预设的数据挖掘算法对所述通信数据进行统计;
将在通信数据中,同时出现在同一任务中的任意两个数据组成一个集合;
统计所有集合在所述通信数据中出现的频率;
若所述集合在所述通信数据中出现的频率大于预设的频率阈值,则将所述集合中的数据作为高频数据。
在本实施例中,数据挖掘算法包括但不限于频繁项集分析方法。其中,频繁项集分析方法的具体过程为:将每次通信数据都形成一个集合,统计集合的交集,同样当交集的频率超过预设的阈值,就可以获得其中频繁出现的部分作为高频数据,进行缓存。通过数据挖掘算法,可以更加准确的确定高频数据。
当然,本申请还可以通过分析业务,根据实际需要进行初始设计,设置通信数据中的高频数据。或者接收业务文档,将其中被标记的业务对应的数据设置为通信数据中的高频数据。
S4:当检测到所述管理平台或机器人软件请求调用所述restful接口时,识别调用接口的调用方,并获取所述请求中包含的调用目的。
在本实施例中,本申请的接口管理平台和机器人软件都可以请求调用,则需要根据调用接口的调用方和调用目的判断下一步的执行动作。其中,调用目的包括发送任务数据和获取通信数据。
在本实施例中,管理平台与机器人软件的通信方法运行于其上的电子设备(例如图1所示的服务器/终端设备)可以通过有线连接方式或者无线连接方式接收所述管理平台或者所述机器人软件的请求。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
S5:若所述调用目的为发送数据,则检测被调用方的处理状态,根据所述被调用方的处理状态确定数据的传输方式。
在本实施例中,所述调用方为所述管理平台或机器人软件,所述被调用方为所述机器人软件或管理平台。例如:若调用接口的调用方为所述管理平台,且所述调用目的为发送任务数据,则检测所述机器人软件的处理状态,根据所述机器人软件的处理状态确定所述任务数据的传输方式:直接传输给机器人软件还是暂存到其他地方(例如:暂存至分布式消息列队)。若调用接口的调用方为所述机器人软件,且所述调用目的为发送任务执行请求,则获取所述管理平台的处理状态,若所述管理平台的处理状态为忙碌,则将所述任务执行请求存储至所述分布式消息列队中,并同步向所述管理平台发送消息待获取通知。
本申请有效调节任务分配,降低机器人软件或管理平台的处理负担,防止任务过重导致卡顿或宕机。同时,将任务数据或任务执行请求放在分布式消息队列中,等待合适的时机进行分发,也可以降低自动化管理平台或机器人软件的负载压力。
具体的,在步骤S5中,即发送的数据包括任务数据,所述检测被调用方的处理状态,根据所述被调用方的处理状态确定数据的传输方式的步骤包括:
检测所述机器人软件的运行状态;
若所述机器人软件的运行状态是空闲状态,则将所述任务数据直接传输至所述机器人软件;
若所述机器人软件的运行状态是繁忙状态,则将所述任务数据暂存至分布式消息列队中,等待所述机器人软件空闲时进行分发。
其中,空闲状态为机器人软件无执行的任务,或者机器人软件正在执行的任务个数小于预设的个数阈值,或者机器人软件正在执行的任务数据的数据量小于预设的数量阈值。繁忙状态为机器人软件正在执行的任务数据的数据量大于预设的数量阈值,或者机器人软件正在执行的任务个数大于预设的个数阈值。
在本实施例中,在设计的时候将并发量大的,可能需要排队通信响应的请求设计为通过消息机制发送。若所述机器人软件繁忙,则将所述任务暂存至分布式消息列队中,等到机器人软件空闲时,再从分布式消息列队中拉取数据去执行任务。例如:流程自动化软件需要执行一个财务报表提取任务,那么任务的配置文件信息,包含收件人,机构信息,报表数据清单等内容都可以通过管理平台上传后暂存起来,等待流程自动化软件启动流程后从分布式消息列队中查询获取。
进一步的,将所述任务数据暂存至分布式消息列队中,等待所述机器人软件空闲时进行分发的步骤包括:
将所述任务数据暂存至分布式消息列队中,并实时监控对应的机器人软件的运行状态;
当监控到所述机器人软件中,正在执行的任务数据的数据量小于预设的数量阈值时,调取分布式消息列队中的任务数据,发送至机器人软件。
在本实施例中,本申请增加对机器人软件的实时监控,当正在执行的任务数据的数据量小于预设的阈值时,调取分布式消息列队中的任务数据,进行发送。
特别的,所述将所述任务数据暂存至分布式消息列队中,并实时监控对应的机器人软件的运行状态,当监控到所述机器人软件中,正在执行的任务数据的数据量小于预设的数量阈值时,调取分布式消息列队中的任务数据,发送至机器人软件的步骤包括:
将所述任务数据暂存至分布式消息列队中,将数据量大于预设分发阈值的任务数据作为第一待传输数据,将数据量小于预设分发阈值的任务数据作为第二待传输数据,并实时监控对应的机器人软件的运行状态;
当监控到所述机器人软件中,正在执行的任务数据的数据量小于预设的数量阈值时,调取分布式消息列队中的第二待传输数据,发送至所述机器人软件;
当监控到所述机器人软件无执行任务时,调取分布式消息列队中的第一待传输数据,发送至所述机器人软件。
在本实施例中,在分布式消息列队中,将对应所述机器人软件的任务数据的数据量大于预设的分发阈值的任务数据,作为第一待传输数据;将对应所述机器人软件的任务数据的数据量小于预设的分发阈值的任务数据,作为第二待传输数据;当所述机器人软件中正在执行的任务数据的数据量小于预设的阈值时,直接所述第二待传输数据给所述机器人软件,而所述第一待传输数据则需等待机器人软件空闲时才能传输给所述机器人软件。本实施例考虑到待分发的某些任务的任务数据的数据量过大的情况,避免在机器人软件非空闲时间,直接将数据量大的任务数据进行分发,而造成机器人软件的负担过重,执行出错。
同时,作为本申请的另一实施例,不同的任务数据携带不同的等级标记,若第一待传输数据的等级标记高于第二待传输数据,则当正在执行的任务数据的数据量小于预设的阈值时,第一待传输数据和第二待传输数据均不进行分发,依然在分布式消息列队中等待,直到机器人软件空闲时,优先将第一待传输数据传输给机器人软件。如此,使得可以预先为重要任务分配较高的等级标记,重要任务能够优先得到处理,同时在处理重要任务前,机器人软件为空闲状态,保证了重要任务处理的速度,并降低出错率。
此外,所述检测所述机器人软件的运行状态的步骤包括:
根据所述机器人软件的名称确定执行所述任务的机器人软件;
检测所述机器人软件的运行状态。
在本实施例中,根据机器人软件的名称可以精准确定需要检测的机器人软件。
对应的,所述检测所述机器人软件的运行状态的步骤包括:
解析所述任务数据,根据所述任务数据判定任务的类型;
根据所述类型选择执行的机器人软件;
检测所述机器人软件的运行状态。
在本实施例中,关于任务类型的确定方式为:任务数据中本身携带有任务类型的数据,则可以直接获取从而判断出任务的类型。还可以是根据任务数据去查询历史执行的任务数据对应的机器人软件,通过比对确定任务的类型。如果任务类型为计算型任务,则检测计算型机器人软件的运行状态。任务类型与机器人软件之间可以为一对一或者一对多的关系。通过类型确定机器人软件,则可以根据一种类型去检测多个对应的机器人软件,在分发任务数据时,能够根据类型进行灵活的快速分发,适用于不指定执行的机器人软件的任务。
需要强调的是,为进一步保证上述任务数据的私密和安全性,上述任务数据还可以存储于一区块链的节点中。
S6:若所述调用目的为获取数据,则检测所述请求获取的数据是否存在于所述第一分布式缓存中,若存在,则直接将所述第一分布式缓存中对应的数据传输给所述调用方,若不存在,则允许调用所述restful接口,以通过所述被调用方获取第二数据库或第一数据库中的数据,其中,所述调用方为所述管理平台或机器人软件,所述被调用方为所述机器人软件或管理平台。
在本实施例中,若调用接口的调用方为所述管理平台,且所述调用目的为获取所述通信数据,则检测所述请求获取的数据是否存在于所述第一分布式缓存中,若存在,则直接将所述第一分布式缓存中对应的数据传输给所述管理平台,若不存在,则允许调用所述restful接口,以通过所述机器人软件获取所述第二数据库中的数据。当机器人软件有在执行的任务时,数据库内会存储任务的详细执行过程信息日志,管理平台需要获取这些信息来处理加工,来统计任务是否有异常、任务执行时间、任务日志记录等,就需要从对方数据库读取这些数据。而在机器人软件重复执行同样的任务时,任务的其他信息,包括任务名称,任务类型,任务创建人等信息,则不需要管理平台每次都从机器人软件对应的数据库中去读取。在管理平台和流程自动化软件交互时,常用的数据可以先在缓存中进行查找,进而加速交互效率。
若调用接口的调用方为所述机器人软件,且所述调用目的为获取所述通信数据,则检测所述请求获取的数据是否存在于所述第一分布式缓存中,若存在,则直接将所述第一分布式缓存中对应的数据传输给所述机器人软件,若不存在,则允许调用所述restful接口,以通过平台获取所述第一数据库中的数据。机器人软件(流程自动化软件)向管理平台发送的一些任务执行请求,比如:统计和更新流程执行信息,可以存储在分布式消息队列中,等待管理平台空闲时就会从消息队列中取消息,进行相应的请求处理。通过调用restful接口获取通信数据,其中,通信数据是平台根据机器人软件的需求从第一数据库中获得的。
本申请在允许管理平台或机器人软件调用Restful接口的之前,还可以添加使用安全算法生成的用户实时变动的验证码,具体是每分钟重新生成的手机安全令牌的形式来验证管理平台当前登录的用户的身份,进一步增强了安全性。
S7:当检测到所述管理平台请求获取所述第一数据库中的数据时,检测请求的数据是否存在于所述第二分布式缓存中,若是,则直接将所述第二分布式缓存中对应的数据传输给所述管理平台,若否,则在所述第一数据库中进行查找,并将对应的数据传输给所述管理平台。
在本实施例中,优先在第二分布式缓存中进行数据查找,可以降低频繁从第一数据库中获取数据的时延和负载压力。提升数据获取速度,避免频繁与第一数据库进行大量数据交互而引起系统错误。
在一些可选的实现方式中,如果上述步骤S2,即在所述将第一数据库和第二数据库分别部署到所述管理平台和机器人软件上,并在所述管理平台和第一数据库之间设置第二分布式缓存的步骤之后,上述电子设备可以执行以下步骤:
在所述管理平台和第一数据库之间设置分布式数据库中间件,通过所述分布式数据库中间件对所述第一数据库进行分库分表,生成至少一个分数据库,其中,所述分数据库包括分数据库名,且与所述分数据库名一一对应;
在步骤S7中,即所述若否,则在所述第一数据库中进行查找的步骤包括:
通过所述数据库中间件解析所述请求携带的查询语句,提取查询语句中的部分字段;
根据预设的分库分表的算法对部分字段进行计算,得到至少一个分数据库名;
根据得到的分数据库名生成新的查询语句,执行新的查询语句获得数据。
在本实施例中,数据库中间件是部署在数据库上游的一层软件,架设在自动化管理平台和数据库之间,管理平台和数据库之间的交互通过数据库中间件进行。在管理平台与第一数据库之间使用分布式数据库中间件,解决了单库容量问题,同时提高并发查询性能,极大降低大量数据下的数据库操作导致的时延。本申请中,分布式数据库中间件可以采用Mycat.
分库指的是数据库中间件将第一数据库拆分成为多个分数据库(分片)。分表指的是把数据库当中数据按照预设的分库的原则分到多个数据表当中,这样,就可以把大表变成多个小表,不同的分表中数据不重复,从而提高处理效率。
分库分表具体方法:水平分片又叫横向分割,即以逻辑表中的数据行记录为单位,把原有逻辑数据库切分成多个物理数据库分片,表数据记录分布存储在各个分片上。水平分片主要用业务架构无法继续细分,而数据库中单张表数据量太大,查询性能下降的场景。通过水平分片,即解决单库容量问题,同时提高并发查询性能,极大降低大量数据下的数据库操作导致的时延。比如:经过水平拆分,将整个订单数据库分成不同的分片,在查询时,通过一定的规则(订单流水号进行某种哈希映射)找到相应的分片,然后进行查询,缩短了查询时间。
本申请设置的通信框架,可以使得管理平台与机器人软件之间高效通信。通过分布式消息列队的设置,防止机器人软件的负担过重,发生处理错误或者宕机的情况。通过将高频数据存储至第一分布式缓存中,降低了交互压力,有效的加快了管理平台与机器人软件之间的交互速度。将常用数据存储至第二分布式缓存中,在管理平台需要获取数据时,优先在第二分布式缓存中进行查找调用,降低频繁存储数据库中的数据造成的时延和负载压力。而接口采用Restful接口,简化互联网中的系统架构,快速实现客户端和服务器之间交互的松耦合,降低了客户端和服务器之间的交互延迟。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种管理平台与机器人软件的通信装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的管理平台与机器人软件的通信装置300包括:第一设置模块301、第二设置模块302、计算模块303、识别模块304、第一检测模块305、第二检测模块306以及第三检测模块307。其中:第一设置模块301,用于在管理平台和机器人软件之间设置分布式消息列队和第一分布式缓存,并在所述管理平台和机器人软件之间设置restful接口;所述第二设置模块302,用于将第一数据库和第二数据库分别部署到所述管理平台和机器人软件上,并在所述管理平台和第一数据库之间设置第二分布式缓存。
所述计算模块303,用于收集所述管理平台与所述机器人软件之间每次交互的通信数据,通过预设的算法确定所述通信数据中的高频数据,并将所述高频数据存储至所述第一分布式缓存中,将所述管理平台的常用数据存储至所述第二分布式缓存中。
所述识别模块304,用于当检测到所述管理平台或机器人软件请求调用所述restful接口时,识别调用接口的调用方,并获取所述请求中包含的调用目的。
所述第一检测模块305,用于当所述调用目的为发送数据时,检测被调用方的处理状态,根据所述被调用方的处理状态确定数据的传输方式。
所述第二检测模块306,用于当所述调用目的为获取数据时,检测所述请求获取的数据是否存在于所述第一分布式缓存中,若存在,则直接将所述第一分布式缓存中对应的数据传输给所述调用方,若不存在,则允许调用所述restful接口,以通过所述被调用方获取第二数据库或第一数据库中的数据,其中,所述调用方为所述管理平台或机器人软件,所述被调用方为所述机器人软件或管理平台。
所述第三检测模块307,用于当检测到所述管理平台请求获取所述第一数据库中的数据时,检测请求的数据是否存在于所述第二分布式缓存中,若是,则直接将所述第二分布式缓存中对应的数据传输给所述管理平台,若否,则在所述第一数据库中进行查找,并将对应的数据传输给所述管理平台。
在本实施例中,通过分布式消息列队的设置,防止机器人软件的负担过重,发生处理错误或者宕机的情况。通过将高频数据存储至第一分布式缓存中,降低了交互压力,有效的加快了管理平台与机器人软件之间的交互速度。将常用数据存储至第二分布式缓存中,在管理平台需要获取数据时,优先在第二分布式缓存中进行查找调用,降低频繁存储数据库中的数据造成的时延和负载压力。而接口采用Restful接口,简化互联网中的系统架构,快速实现客户端和服务器之间交互的松耦合,降低了客户端和服务器之间的交互延迟。
计算模块303包括统计子模块、形成子模块、频率子模块以及生成子模块。其中,所述统计子模块用于通过预设的数据挖掘算法对所述通信数据进行统计;所述形成子模块用于将在通信数据中,同时出现在同一任务中的任意两个数据组成一个集合;所述频率子模块用于统计所有集合在所述通信数据中出现的频率;所述生成子模块用于当所述集合在所述通信数据中出现的频率大于预设的阈值时,将所述集合中的数据作为高频数据。
第一检测模块305包括检测子模块、传输子模块以及暂存子模块。其中,所述检测子模块用于检测所述机器人软件的运行状态;所述传输子模块用于当所述机器人软件的运行状态是空闲状态时,将所述任务数据直接传输至所述机器人软件;所述暂存子模块用于当所述机器人软件的运行状态是空闲状态时,将所述任务数据直接传输至所述机器人软件。
所述暂存子模块包括监控单元和调取单元。其中,所述监控单元用于将所述任务数据暂存至分布式消息列队中,并实时监控对应的机器人软件的运行状态;所述调取单元用于当监控到所述机器人软件中,正在执行的任务数据的数据量小于预设的数量阈值时,调取分布式消息列队中的任务数据,发送至机器人软件。
所述监控单元还用于将所述任务数据暂存至分布式消息列队中,将数据量大于预设分发阈值的任务数据作为第一待传输数据,将数据量小于预设分发阈值的任务数据作为第二待传输数据,并实时监控对应的机器人软件的运行状态。所述调取单元还用于当监控到所述机器人软件中,正在执行的任务数据的数据量小于预设的数量阈值时,调取分布式消息列队中的第二待传输数据,发送至所述机器人软件,当监控到所述机器人软件无执行任务时,调取分布式消息列队中的第一待传输数据,发送至所述机器人软件。
任务数据携带有机器人软件的名称,检测子模块包括确定单元和检测单元。其中,确定单元用于根据机器人软件的名称确定执行任务的机器人软件;检测单元用于检测所述机器人软件的运行状态。
在可选的实施例中,所述确定单元还用于解析任务数据,根据任务数据判断任务的类型,并根据类型选择执行的机器人软件。
在本实施例的一些可选的实现方式中,上述装置300还包括:第三设置模块,用于在所述管理平台和第一数据库之间设置分布式数据库中间件,通过所述分布式数据库中间件对所述第一数据库进行分库分表,生成至少一个分数据库,其中,所述分数据库包括分数据库名,且与所述分数据库名一一对应。所述第三检测模块还包括提取子模块、分数据库子模块和执行子模块。所述提取子模块用于通过所述数据库中间件解析所述请求携带的查询语句,提取查询语句中的部分字段。所述分数据库子模块用于根据预设的分库分表的算法对部分字段进行计算,得到至少一个分数据库名。所述执行子模块用于根据得到的分数据库名生成新的查询语句,执行新的查询语句获得数据。
所述查询模块用于当所述管理平台请求获取第一数据库中的数据时,通过所述数据库中间件解析所述请求携带的查询语句,获得部分字段,根据预设的算法对所述部分字段进行计算,得到至少一个分数据库名,根据得到的分数据库名生成新的查询语句,执行新的查询语句获得数据。
本申请的通信框架,可以使得管理平台与机器人软件之间高效通信。通过分布式消息列队的设置,防止机器人软件的负担过重,发生处理错误或者宕机的情况。通过将高频数据存储至第一分布式缓存中,降低了交互压力,有效的加快了管理平台与机器人软件之间的交互速度。将常用数据存储至第二分布式缓存中,在管理平台需要获取数据时,优先在第二分布式缓存中进行查找调用,降低频繁存储数据库中的数据造成的时延和负载压力。而接口采用Restful接口,简化互联网中的系统架构,快速实现客户端和服务器之间交互的松耦合,降低了客户端和服务器之间的交互延迟。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备200包括通过系统总线相互通信连接存储器201、处理器202、网络接口203。需要指出的是,图中仅示出了具有组件201-203的计算机设备200,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器201至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器201可以是所述计算机设备200的内部存储单元,例如该计算机设备200的硬盘或内存。在另一些实施例中,所述存储器201也可以是所述计算机设备200的外部存储设备,例如该计算机设备200上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器201还可以既包括所述计算机设备200的内部存储单元也包括其外部存储设备。本实施例中,所述存储器201通常用于存储安装于所述计算机设备200的操作系统和各类应用软件,例如管理平台与机器人软件的通信方法的程序代码等。此外,所述存储器201还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器202在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器202通常用于控制所述计算机设备200的总体操作。本实施例中,所述处理器202用于运行所述存储器201中存储的程序代码或者处理数据,例如运行所述管理平台与机器人软件的通信方法的程序代码。
所述网络接口203可包括无线网络接口或有线网络接口,该网络接口203通常用于在所述计算机设备200与其他电子设备之间建立通信连接。
在本实施例中,通过分布式消息列队的设置,防止机器人软件发生处理错误或者宕机的情况。通过将高频数据存储至第一分布式缓存中,有效的加快了管理平台与机器人软件之间的交互速度。将常用数据存储至第二分布式缓存中,降低频繁存储数据库中的数据造成的时延和负载压力。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有管理平台与机器人软件的通信程序,所述管理平台与机器人软件的通信程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的管理平台与机器人软件的通信方法的步骤。
在本实施例中,通过分布式消息列队的设置,防止机器人软件发生处理错误或者宕机的情况。通过将高频数据存储至第一分布式缓存中,有效的加快了管理平台与机器人软件之间的交互速度。将常用数据存储至第二分布式缓存中,降低频繁存储数据库中的数据造成的时延和负载压力。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种管理平台与机器人软件的通信方法,其特征在于,包括下述步骤:
在管理平台和机器人软件之间设置分布式消息列队和第一分布式缓存,并在所述管理平台和机器人软件之间设置restful接口;
将第一数据库和第二数据库分别部署到所述管理平台和机器人软件上,并在所述管理平台和第一数据库之间设置第二分布式缓存;
收集所述管理平台与所述机器人软件之间每次交互的通信数据,通过预设的算法确定所述通信数据中的高频数据,并将所述高频数据存储至所述第一分布式缓存中,将所述管理平台的常用数据存储至所述第二分布式缓存中;
当检测到所述管理平台或机器人软件请求调用所述restful接口时,识别调用接口的调用方,并获取所述请求中包含的调用目的;
若所述调用目的为发送数据,则检测被调用方的处理状态,根据所述被调用方的处理状态确定数据的传输方式;
若所述调用目的为获取数据,则检测请求获取的数据是否存在于所述第一分布式缓存中,若存在,则直接将所述第一分布式缓存中对应的数据传输给所述调用方,若不存在,则允许调用所述restful接口,以通过所述被调用方获取第二数据库或第一数据库中的数据,其中,所述调用方为所述管理平台或机器人软件,所述被调用方为所述机器人软件或管理平台;以及
当检测到所述管理平台请求获取所述第一数据库中的数据时,检测请求的数据是否存在于所述第二分布式缓存中,若是,则直接将所述第二分布式缓存中对应的数据传输给所述管理平台,若否,则在所述第一数据库中进行查找,并将对应的数据传输给所述管理平台。
2.根据权利要求1所述的管理平台与机器人软件的通信方法,其特征在于,所述通过预设的算法确定所述通信数据中的高频数据的步骤包括:
通过预设的数据挖掘算法对所述通信数据进行统计;
将在通信数据中,同时出现在同一任务中的任意两个数据组成一个集合;
统计所有集合在所述通信数据中出现的频率;
若所述集合在所述通信数据中出现的频率大于预设的频率阈值,则将所述集合中的数据作为高频数据。
3.根据权利要求1所述的管理平台与机器人软件的通信方法,其特征在于,发送的数据包括任务数据,所述检测被调用方的处理状态,根据所述被调用方的处理状态确定数据的传输方式的步骤包括:
检测所述机器人软件的运行状态;
若所述机器人软件的运行状态是空闲状态,则将所述任务数据直接传输至所述机器人软件;
若所述机器人软件的运行状态是繁忙状态,则将所述任务数据暂存至分布式消息列队中,等待所述机器人软件空闲时进行分发。
4.根据权利要求3所述的管理平台与机器人软件的通信方法,其特征在于,所述将所述任务数据暂存至分布式消息列队中,等待所述机器人软件空闲时进行分发的步骤包括:
将所述任务数据暂存至分布式消息列队中,并实时监控对应的机器人软件的运行状态;
当监控到所述机器人软件中,正在执行的任务数据的数据量小于预设的数量阈值时,调取分布式消息列队中的任务数据,发送至机器人软件。
5.根据权利要求4所述的管理平台与机器人软件的通信方法,其特征在于,所述将所述任务数据暂存至分布式消息列队中,并实时监控对应的机器人软件的运行状态;当监控到所述机器人软件中,正在执行的任务数据的数据量小于预设的数量阈值时,调取分布式消息列队中的任务数据,发送至机器人软件的步骤包括:
将所述任务数据暂存至分布式消息列队中,将数据量大于预设分发阈值的任务数据作为第一待传输数据,将数据量小于预设分发阈值的任务数据作为第二待传输数据,并实时监控对应的机器人软件的运行状态;
当监控到所述机器人软件中,正在执行的任务数据的数据量小于预设的数量阈值时,调取分布式消息列队中的第二待传输数据,发送至所述机器人软件;
当监控到所述机器人软件无执行任务时,调取分布式消息列队中的第一待传输数据,发送至所述机器人软件。
6.根据权利要求3至5任意一项的所述的管理平台与机器人软件的通信方法,其特征在于,所述检测所述机器人软件的运行状态的步骤包括:
解析所述任务数据,根据所述任务数据判定任务的类型;
根据所述类型选择执行的机器人软件;
检测所述机器人软件的运行状态。
7.根据权利要求1所述的管理平台与机器人软件的通信方法,其特征在于,在所述将第一数据库和第二数据库分别部署到所述管理平台和机器人软件上,并在所述管理平台和第一数据库之间设置第二分布式缓存的步骤之后,还包括:
在所述管理平台和第一数据库之间设置分布式数据库中间件,通过所述分布式数据库中间件对所述第一数据库进行分库分表,生成至少一个分数据库,其中,所述分数据库包括分数据库名,且与所述分数据库名一一对应;
所述若否,则在所述第一数据库中进行查找的步骤包括:
通过所述数据库中间件解析所述请求携带的查询语句,提取查询语句中的部分字段;
根据预设的分库分表的算法对部分字段进行计算,得到至少一个分数据库名;
根据得到的分数据库名生成新的查询语句,执行新的查询语句获得数据。
8.一种管理平台与机器人软件的通信装置,其特征在于,包括:
第一设置模块,用于在管理平台和机器人软件之间设置分布式消息列队和第一分布式缓存,并在所述管理平台和机器人软件之间设置restful接口;
第二设置模块,用于将第一数据库和第二数据库分别部署到所述管理平台和机器人软件上,并在所述管理平台和第一数据库之间设置第二分布式缓存;
计算模块,用于收集所述管理平台与所述机器人软件之间每次交互的通信数据,通过预设的算法确定所述通信数据中的高频数据,并将所述高频数据存储至所述第一分布式缓存中,将所述管理平台的常用数据存储至所述第二分布式缓存中;
识别模块,用于当检测到所述管理平台或机器人软件请求调用所述restful接口时,识别调用接口的调用方,并获取所述请求中包含的调用目的;
第一检测模块,用于当所述调用目的为发送数据,检测被调用方的处理状态,根据所述被调用方的处理状态确定数据的传输方式;
第二检测模块,用于当所述调用目的为获取数据,检测所述请求获取的数据是否存在于所述第一分布式缓存中,若存在,则直接将所述第一分布式缓存中对应的数据传输给所述调用方,若不存在,则允许调用所述restful接口,以通过所述被调用方获取第二数据库或第一数据库中的数据,其中,所述调用方为所述管理平台或机器人软件,所述被调用方为所述机器人软件或管理平台;以及以通过所述被调用方获取第二数据库或第一数据库中的数据
第三检测模块,用于当检测到所述管理平台请求获取所述第一数据库中的数据时,检测请求的数据是否存在于所述第二分布式缓存中,若是,则直接将所述第二分布式缓存中对应的数据传输给所述管理平台,若否,则在所述第一数据库中进行查找,并将对应的数据传输给所述管理平台。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的管理平台与机器人软件的通信方法的步骤。
10.一种计算机可读存储介质,其特征在于,包括所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的管理平台与机器人软件的通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010610235.8A CN111813573B (zh) | 2020-06-29 | 2020-06-29 | 管理平台与机器人软件的通信方法及其相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010610235.8A CN111813573B (zh) | 2020-06-29 | 2020-06-29 | 管理平台与机器人软件的通信方法及其相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111813573A true CN111813573A (zh) | 2020-10-23 |
CN111813573B CN111813573B (zh) | 2022-09-20 |
Family
ID=72856295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010610235.8A Active CN111813573B (zh) | 2020-06-29 | 2020-06-29 | 管理平台与机器人软件的通信方法及其相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813573B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112364318A (zh) * | 2020-11-24 | 2021-02-12 | 北京海联捷讯科技股份有限公司 | 一种运维大数据安全管理的方法、系统、终端和存储介质 |
CN112417022A (zh) * | 2020-11-27 | 2021-02-26 | 深圳市金证科技股份有限公司 | 用于获取数据的方法、装置、终端及存储介质 |
CN113268336A (zh) * | 2021-06-25 | 2021-08-17 | 中国平安人寿保险股份有限公司 | 一种服务的获取方法、装置、设备以及可读介质 |
CN113919412A (zh) * | 2021-09-02 | 2022-01-11 | 中国电子科技集团公司第二十九研究所 | 一种数据分发方法、设备及存储介质 |
TWI815140B (zh) * | 2021-07-05 | 2023-09-11 | 廣達電腦股份有限公司 | 流程操作系統及流程操作方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006045881A1 (en) * | 2004-10-26 | 2006-05-04 | Konsultointi Martikainen Oy | Method for task assignment |
US20110093860A1 (en) * | 2009-10-16 | 2011-04-21 | Konsultointi Martikainen Oy | Method for multiclass task allocation |
CN103246615A (zh) * | 2013-04-24 | 2013-08-14 | 深圳市江波龙电子有限公司 | 一种闪存存储设备中数据管理的方法及装置 |
EP2637111A1 (en) * | 2012-03-05 | 2013-09-11 | NHN Business Platform Corp. | Data management system and method using database middleware |
CN105610972A (zh) * | 2016-02-01 | 2016-05-25 | 中博信息技术研究院有限公司 | 集群式的任务调派系统 |
CN109726191A (zh) * | 2018-12-12 | 2019-05-07 | 中国联合网络通信集团有限公司 | 一种跨集群数据的处理方法和系统、存储介质 |
CN110674432A (zh) * | 2019-09-09 | 2020-01-10 | 中国平安财产保险股份有限公司 | 二级缓存方法、装置及计算机可读存储介质 |
-
2020
- 2020-06-29 CN CN202010610235.8A patent/CN111813573B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006045881A1 (en) * | 2004-10-26 | 2006-05-04 | Konsultointi Martikainen Oy | Method for task assignment |
US20110093860A1 (en) * | 2009-10-16 | 2011-04-21 | Konsultointi Martikainen Oy | Method for multiclass task allocation |
EP2637111A1 (en) * | 2012-03-05 | 2013-09-11 | NHN Business Platform Corp. | Data management system and method using database middleware |
CN103246615A (zh) * | 2013-04-24 | 2013-08-14 | 深圳市江波龙电子有限公司 | 一种闪存存储设备中数据管理的方法及装置 |
CN105610972A (zh) * | 2016-02-01 | 2016-05-25 | 中博信息技术研究院有限公司 | 集群式的任务调派系统 |
CN109726191A (zh) * | 2018-12-12 | 2019-05-07 | 中国联合网络通信集团有限公司 | 一种跨集群数据的处理方法和系统、存储介质 |
CN110674432A (zh) * | 2019-09-09 | 2020-01-10 | 中国平安财产保险股份有限公司 | 二级缓存方法、装置及计算机可读存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112364318A (zh) * | 2020-11-24 | 2021-02-12 | 北京海联捷讯科技股份有限公司 | 一种运维大数据安全管理的方法、系统、终端和存储介质 |
CN112417022A (zh) * | 2020-11-27 | 2021-02-26 | 深圳市金证科技股份有限公司 | 用于获取数据的方法、装置、终端及存储介质 |
CN112417022B (zh) * | 2020-11-27 | 2024-06-07 | 深圳市金证科技股份有限公司 | 用于获取数据的方法、装置、终端及存储介质 |
CN113268336A (zh) * | 2021-06-25 | 2021-08-17 | 中国平安人寿保险股份有限公司 | 一种服务的获取方法、装置、设备以及可读介质 |
CN113268336B (zh) * | 2021-06-25 | 2023-09-19 | 中国平安人寿保险股份有限公司 | 一种服务的获取方法、装置、设备以及可读介质 |
TWI815140B (zh) * | 2021-07-05 | 2023-09-11 | 廣達電腦股份有限公司 | 流程操作系統及流程操作方法 |
CN113919412A (zh) * | 2021-09-02 | 2022-01-11 | 中国电子科技集团公司第二十九研究所 | 一种数据分发方法、设备及存储介质 |
CN113919412B (zh) * | 2021-09-02 | 2023-07-25 | 中国电子科技集团公司第二十九研究所 | 一种数据分发方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111813573B (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813573B (zh) | 管理平台与机器人软件的通信方法及其相关设备 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN109873904B (zh) | 消息推送的用户消息状态上报处理方法、装置及存储介质 | |
EP4099170B1 (en) | Method and apparatus of auditing log, electronic device, and medium | |
CN107729137B (zh) | 服务器、区块链验签解密的方法及存储介质 | |
CN112162965B (zh) | 一种日志数据处理的方法、装置、计算机设备及存储介质 | |
CN110851248B (zh) | 异步任务数据处理方法、装置及计算机可读存储介质 | |
CN103095819A (zh) | 推送数据信息的方法及数据信息推送系统 | |
CN110555019B (zh) | 一种基于业务端的数据清洗方法 | |
CN111597388B (zh) | 基于分布式系统的样本采集方法、装置、设备及介质 | |
WO2021169275A1 (zh) | Sdn 网络设备访问方法、装置、计算机设备及存储介质 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN112468409A (zh) | 访问控制方法、装置、计算机设备及存储介质 | |
CN110807050B (zh) | 性能分析方法、装置、计算机设备及存储介质 | |
CN114205641A (zh) | 一种视频数据处理方法及装置 | |
CN112860662A (zh) | 数据血缘关系建立方法、装置、计算机设备及存储介质 | |
CN114157679A (zh) | 基于云原生分布式应用监控方法、装置、设备及介质 | |
CN109978114B (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN112882833B (zh) | 一种数据采集方法、装置、计算机设备及存储介质 | |
CN112491650A (zh) | 动态分析服务之间调用环路情况的方法及相关设备 | |
CN114995914A (zh) | 图片数据的处理方法、装置、计算机设备及存储介质 | |
CN114048059A (zh) | 接口的超时时间调整方法、装置、计算机设备及存储介质 | |
CN114615325A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN113590372A (zh) | 基于日志的链路追踪方法、装置、计算机设备及存储介质 | |
CN114637651A (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 |