CN116909706A - 基于本地数据的任务调度方法和系统 - Google Patents

基于本地数据的任务调度方法和系统 Download PDF

Info

Publication number
CN116909706A
CN116909706A CN202310883146.4A CN202310883146A CN116909706A CN 116909706 A CN116909706 A CN 116909706A CN 202310883146 A CN202310883146 A CN 202310883146A CN 116909706 A CN116909706 A CN 116909706A
Authority
CN
China
Prior art keywords
task
local
data
client
execution
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
CN202310883146.4A
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.)
Suzhou Aiquan Electronic Ticket Digital Technology Co ltd
Original Assignee
Suzhou Aiquan Electronic Ticket Digital 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 Suzhou Aiquan Electronic Ticket Digital Technology Co ltd filed Critical Suzhou Aiquan Electronic Ticket Digital Technology Co ltd
Priority to CN202310883146.4A priority Critical patent/CN116909706A/zh
Publication of CN116909706A publication Critical patent/CN116909706A/zh
Pending legal-status Critical Current

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/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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了基于本地数据的任务调度方法和系统,属于任务调度技术领域,包括以下步骤:响应于接收到的任务和执行所述任务的代码,根据本地数据和所述代码,执行所述任务,获得执行结果;根据所述执行结果,生成本地结果数据和远程数据;将所述本地结果数据保存到本地数据中;将远程数据返回给任务的发送方。云端和本地节点之间交互和协同,通过本地节点和本地数据执行所述任务,避免本地数据上传到外网,提高本地数据的安全性;另一方面减少云端的数据流和资源负担。

Description

基于本地数据的任务调度方法和系统
技术领域
本发明涉及任务调度技术领域,具体涉及基于本地数据的任务调度方法和系统。
背景技术
SAAS(Software-as-a-Service,软件即服务)通常以“云”的方式进行部署,为众多企业提供打开网络就能享受高效服务的工作模式,这其中涉及到大量的企业私有数据在云端的存储、传输和传播。在SAAS为企业提供的云端服务中,以企业内部的数据作为操作对象的情况占大多数,而数据跨企业流转的数量要小于数据在同一企业内部流转的数量。
使用SAAS服务的企业,对企业数据的安全性意识逐渐提高。标准的SAAS模式会要求企业将自己的业务数据上载到云端的服务器,然后通过浏览器等工具加载SAAS云服务厂商提供的功能页面,在这些功能页面中对这些数据实施特定的操作。只有上传到云端,企业才可以享受无论在何处,“开机即用”、“联网即用”的便利。针对数据安全的问题,虽然云服务厂商为此提供了较为全面的多种安全解决方案。但是从企业的角度出发,将企业运营数据大批量地上载到公网的云端服务器中,仍然存在安全方面的担忧。而且海量的企业私有数据的保管、删除以及物理销毁是数据的拥有者(企业)和数据的维护者(云服务厂商)共同的繁重任务。
从SAAS软件服务提供商的角度出发,经常会遇到短时间内处理大量企业数据的场景。为了满足这种突然井喷的计算需求,云服务厂商需要投入大量的计算资源,并需要为其配置复杂的资源调度策略,以在满足任务执行需求和控制服务成本这两者之间实现平衡。因此需要一种兼顾数据安全和任务执行效率的SAAS解决方案。
发明内容
针对现有技术中存在的上述技术问题,本发明提供一种基于本地数据的任务调度方法和系统,避免将私有数据上传到外网,同时能够提高任务执行效率。
本发明公开了基于本地数据的任务调度方法,包括以下步骤:响应于接收到的任务和执行所述任务的代码,根据本地数据和所述代码,执行所述任务,获得执行结果;根据所述执行结果,生成本地结果数据和远程数据;将所述本地结果数据保存到本地数据中;将远程数据返回给任务的发送方。
优选的,所述本地数据,以及执行所述任务的本地节点或客户端部署在内网或者本地局域网中,外网无法直接访问到本地数据。
优选的,对任务进行拆解的方法:
获得多个本地节点的资源指标和历史执行效率;
将所述任务进行拆解,获得多个子任务;
根据子任务的资源类型,以及所述资源指标和执行效率,对本地节点的任务优先指数进行评分;
根据所述评分对子任务的本地节点进行分配;
接收各个本地节点反馈的子任务执行结果;
对各个子任务执行结果进行汇总。
优选的,任务优先指数表示为:
R=K1×V+K2×M+K3×S+K4×D+K5×P
其中,R表示为任务优先指数,K1,K2,K3,K4,K5表示为权重系数;V表示为CPU能力指数,M表示为内存指数,S表示为网络带宽指数,D表示为存储资源指数,P表示为历史任务完成效率。
优选的,Vcpu=Rate×N;
V=Vcpu/MAX_Vcpu;
M=M0/MAX_M0;
S=S0/MAX_S0;
D=D0/MAX_D0;
P=(P0+1)/(MAX_P0+1);
其中,Rate表示为CPU的当前空闲利用率,N表示为CPU的核心数量,Vcpu为当前CPU可用能力值,MAX_Vcpu为候选节点的CPU可用能力值的最大值;M0表示为当前可使用的内存容量,MAX_M0为候选节点的内存容量最大值或客户端可使用的内存容量最大值;S0表示为当前可使用的网络带宽,MAX_S0表示为候选节点的最大网络带宽或客户端可使用的最大网络带宽;D0表示为当前存储容量,MAX_D0表示为候选节点最大存储容量或客户端可使用的最大存储容量;P0表示为当前任务执行效率,MAX_P0表示为候选节点或客户端的历史任务执行效率的最大值。
优选的,根据子任务的类型进行任务调度的方法:
获得子任务的类型,分别为所述类型建立相应任务优先指数的模型;
基于相应的模型,获得各个节点关于所述子任务的任务优先指数;
基于任务优先指数最大化,进行子任务调度。
优选的,具体的任务调度方法包括:
通过浏览器或与浏览器相似的其他用户交互界面获取用户提供给远程SAAS服务器的登录信息;
远程SAAS服务器对登录信息鉴权后,同步本地节点中客户端的用户身份;
通过浏览器或与浏览器相似的其他用户交互界面接收用户所下达的任务,并上传给远程SAAS服务器;
远程SAAS服务器根据所述任务向本地节点的客户端下发任务和代码;
本地节点的客户端基于API接口从本地数据中读取执行所述任务所需的数据,并执行所述代码获得任务的执行结果;
将所述执行结果保存到本地数据中,并反馈给浏览器;
将所述任务的执行状态反馈给远程SAAS服务器;
其中,所述客户端与远程SAAS服务器之间设有数据保密策略。
基于云服务器和本地数据的任务调度方法,包括以下步骤:响应于接收到的任务,生成执行所述任务的代码;将所述任务和代码下发到本地节点;接收由本地节点上传的远程数据,其中,本地节点基于本地数据和代码执行所述任务,获得执行结果,并根据执行结果,生成本地结果数据和远程数据;基于所述远程数据,对本地节点的任务执行进行监控。
本发明还提供一种用于实现上述任务调度方法的系统,包括客户端,
所述客户端用于接收任务和执行所述任务的代码,并根据本地数据和所述代码,执行所述任务,获得执行结果;根据所述执行结果,生成本地结果数据和远程数据;将所述本地结果数据保存到本地数据中;并将远程数据返回给任务的发送方。
优选的,所述系统还包括SAAS服务器,所述客户端部署在本地节点中,本地节点中还部署有浏览器,所述浏览器用于获得用户提交的任务,并将所述任务发送给SAAS服务器,所述SAAS服务器用于根据所述任务,生成执行所述任务的代码,并将所述任务和代码下发到本地节点的客户端。
与现有技术相比,本发明的有益效果为:云端和本地节点之间交互和协同,通过本地节点和本地数据执行所述任务,避免本地数据上传到外网,提高本地数据的安全性;另一方面减少云端的数据流和资源负担。
附图说明
图1是本发明的基于本地数据的任务调度方法流程图;
图2是本发明的系统逻辑框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
一种基于本地数据的任务调度方法,涉及到云端服务器和本地节点之间的协同,如图1所示,包括以下步骤:
步骤101:响应于接收到的任务,生成执行所述任务的代码。
步骤102:将所述任务和代码下发到本地节点。
步骤103:响应于接收到的任务和执行所述任务的代码,根据本地数据和所述代码,执行所述任务,获得执行结果。
步骤104:根据所述执行结果,生成本地结果数据和远程数据。
其中,结果数据也是企业私有数据的一部分,对执行结果进行细分,能够加强数据安全性。远程数据包括任务或业务流转所需要的数据流,实现对任务或业务流转的有效监测和调度。结果数据和远程数据的具体划分标准,可以根据企业的数据安全策略进行调整,但应当保证云服务器对任务和业务流转的监测效率,保证业务的有效监控和调度。
步骤105:将所述本地结果数据保存到本地数据中。
步骤106:将远程数据返回给任务的发送方,即云服务器。
步骤107:接收由本地节点上传的远程数据。
其中,本地节点基于本地数据和代码执行所述任务,获得执行结果,并根据执行结果,生成本地结果数据和远程数据。
步骤108:基于所述远程数据,对本地节点的任务执行进行监控。
其中,步骤101-102,以及108在云端的服务器中执行,步骤103-107在本地节点中执行,更具体的,通过本地节点中的客户端执行。此处所述的本地节点,可以是一个也可以是多个。本地数据、以及执行所述任务的本地节点、客户端可以部署在内网或局域网中,本地数据为企业的私有数据,可以通过数据库的形式部署;本地节点中可以部署一个或多个客户端,本地节点为部署在内网或局域网中的服务器或计算机。
云端和本地节点之间交互和协同,通过本地节点和本地数据执行所述任务,避免本地数据上传到外网,提高本地数据的安全性;另一方面减少云端的数据流和资源负担。
实施例1
本地内网中可以部署有多个本地节点,以及多个客户端,为提高任务的执行效率,可以对任务进行拆解,包括以下步骤:
步骤201:获得多个本地节点的资源指标和历史执行效率。
步骤202:将所述任务进行拆解,获得多个子任务。
步骤203:根据子任务的资源类型,以及所述资源指标和执行效率,对本地节点的任务优先指数进行评分。
步骤204:根据所述评分对子任务的本地节点进行分配。将所述子任务及其执行代码下发到相应的目标节点中,由目标节点执行相应的子任务。
步骤205:接收各个本地节点反馈的子任务执行结果。
步骤206:对各个子任务执行结果进行汇总。可以在云服务器进行汇总,也可以通过云服务器向其中一个本地节点下发汇总的代码,由该本地节点执行汇总各子执行结果的任务。
更具体的,通过对各个候选节点的各资源指标和执行效率的加权和进行评分,任务优先指数表示为:
R=K1×V+K2×M+K3×S+K4×D+K5×P
其中,R表示为任务优先指数,K1,K2,K3,K4,K5表示为权重系数;V表示为CPU能力指数,M表示为内存指数,S表示为网络带宽指数,D表示为存储资源指数,P表示为历史任务完成效率。
其中,Vcpu=Rate×N;V=Vcpu/MAX_Vcpu;M=M0/MAX_M0;S=S0/MAX_S0;D=D0/MAX_D0;P=(P0+1)/(MAX_P0+1);
其中,Rate表示为CPU的当前空闲利用率,N表示为CPU的核心数量,Vcpu为当前CPU可用能力值,MAX_Vcpu为候选节点的CPU可用能力值的最大值;M0表示为当前可使用的内存容量,MAX_M0为候选节点的内存容量最大值或客户端可使用的内存容量最大值;S0表示为当前可使用的网络带宽,MAX_S0表示为候选节点的最大网络带宽或客户端可使用的最大网络带宽;D0表示为当前存储容量,MAX_D0表示为候选节点最大存储容量或客户端可使用的最大存储容量;P0表示为当前任务执行效率,MAX_P0表示为候选节点或客户端的历史任务执行效率的最大值。
考虑到每个任务或子任务的类型不同,任务优先指数的各个项权重系数也不相同。根据子任务的类型进行任务调度的方法:
步骤211:获得子任务的类型,分别为所述类型建立相应任务优先指数的模型。
步骤212:基于相应的模型,获得各个节点关于所述子任务的任务优先指数;
步骤213:基于任务优先指数最大化,进行子任务调度。
例如,中子任务或任务的类型可以分为:内存消耗型A、计算消耗型B和通用型C。任务类型的划分方法可根据经验预先设定。
对内存消耗型任务,从高到低选择内存指数M最大的前i个客户端(i为正整数,i不大于最大的客户端数),按照公式计算这些客户端的优先指数R,并提高M的权重系数。例如,K1=1,K2=1.5,K3=1,K4=1,K5=1,然后将任务发送到R得分最高的客户端执行。
对计算消耗型任务,从高到低选择CPU能力指数得分最大的前i个客户端,按照公式计算每个客户端的优先指数R,并提高CPU能力指数的权重系数。例如,K1=1.5,K2=1,K3=1,K4=1,K5=1,然后将任务发送到R得分最高的客户端执行。
对通用型任务,分别选择V、M、S、D得分最高的前i个客户端,按照公式计算每个客户端的优先指数R。例如,K1=1,K2=1,K3=1,K4=1,K5=1,然后将任务或子任务发送到R得分最高的客户端执行。
实施例2
本实施例构建了本地节点和云服务器,本地节点部署有前端的浏览器和客户端,云服务器为SAAS服务器用于提供SAAS服务。其中,所述本地节点与SAAS服务器之间设有数据保密策略。
具体的任务调度方法包括:
步骤301:通过浏览器获取用户提供登录信息,并将登录信息上传给远程SAAS服务器。
步骤302:远程SAAS服务器对登录信息鉴权后,同步本地节点中客户端的用户身份。
步骤303:通过浏览器接收用户所下达的任务,并上传给远程SAAS服务器。
步骤304:远程SAAS服务器根据所述任务向本地节点下发任务和代码。但不限于此,SAAS服务器也可以通过对任务进行拆解的方法进行分解后,将子任务及其执行代码下发到多个本地节点的客户端中。
步骤305:本地节点的客户端基于API接口从本地数据中读取执行所述任务所需的数据,并执行所述代码获得任务的执行结果。
步骤306:将所述执行结果保存到本地数据中,并反馈给浏览器,供用户浏览和使用。
步骤307:将所述任务的执行状态反馈给SAAS服务器。
步骤308:客户端关闭API接口,并清除临时数据。
步骤309:通过浏览器接收用户登出指令,并上传到SAAS服务器。SAAS服务器撤销用户登录状态,并同步客户端的用户登出状态。客户端同步清理不需要继续保存在本地的该用户的数据。
实施例3
本实施例提供一种用于实现上述任务调度方法的系统,如图2所示,包括客户端11,
客户端11用于接收任务和执行所述任务的代码,并根据本地数据13和所述代码,执行所述任务,获得执行结果;根据所述执行结果,生成本地结果数据和远程数据;将所述本地结果数据保存到本地数据中;并将远程数据返回给任务的发送方。
所述系统还包括SAAS服务器2,客户端11部署在本地节点1中,本地节点1中还部署有浏览12器,浏览器12用于获得用户提交的任务,并将所述任务发送给SAAS服务器2,SAAS服务器2用于根据所述任务,生成执行所述任务的代码,并将所述任务和代码下发到本地节点1的客户端11。
本发明构建标准SAAS服务的同时,构建在本地节点运行的配套RPA客户端,具有流程自动化的辅助管理功能,能够自动登录SAAS服务,下载并执行工作任务,同时在用户授权的前提下,完成工作成果的提交。用户除了在云端执行常规的企业用户开户/注册,以及开通所需的各项SAAS服务功能外,还需要下载RPA客户端,然后在本地节点中完成安装,并允许客户端程序在每次系统开机时可以自动运行。
RPA客户端的API接口类似于应用程序的外部运行时功能库,属于应用程序的一种。RPA客户端负责本地数据的存储安全,不需要长期保留的数据不会被保存。用户通过浏览器连接到RPA客户端后,客户端将与SAAS服务器协商用户任务的分发,SAAS服务自动将用户当前业务中的代码指派给RPA客户端,RPA客户端下载该代码并执行。该计算代码可以是网页中的Javascript语言编写的计算机程序,以及配套的Html页面和cs样式语言,也可以是其他计算机语言编写的程序。RPA客户端为这些程序代码提供本地化的API支持,以便赋予这些代码访问本地计算机资源的能力。执行完毕后,自动区分本地数据与远程数据,然后将本地数据存储到本地的数据库中,将需要返回给远程SAAS服务器的数据提交到SAAS服务器供下一环节使用。RPA在完成指定计算任务后,清理本地的临时数据,释放在内存和磁盘中的存储空间。
通过在SAAS服务器里的设定,在RPA客户端中使用的数据可以不上传到SAAS服务器,即企业用户的敏感数据被限制在该企业内部的RPA客户端之间传输和使用,企业的私有数据不需要全部上传到公网SAAS服务器中利用或保存。上传到SAAS公网服务器的数据被限制在完成公网业务的有限的范围内,这部分数据的区分通过编写SAAS服务器代码和RPA客户端代码来实现。
本发明对私有数据进行精细化拆分,减少了上传到公网云端服务器的数据总量和数据的敏感级别,从而增强了用户数据的整体安全性。通过对任务的精细化分割和对子任务的自动派发,节省了服务器资源,免去了大量数据在网络上传输的时间成本和设备成本,同时还提高了用户的使用体验。将本属于企业的大量业务数据继续保存在本地(这部分数据有可能涉及到企业的核心机密)不用上传到公网服务器,因此大大降低了数据在传输过程,以及在远端服务器中保存过程中被暴露和被攫取的风险。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于本地数据的任务调度方法,其特征在于,包括以下步骤:
响应于接收到的任务和执行所述任务的代码,根据本地数据和所述代码,执行所述任务,获得执行结果;
根据所述执行结果,生成本地结果数据和远程数据;
将所述本地结果数据保存到本地数据中;
将远程数据返回给任务的发送方。
2.根据权利要求1所述的任务调度方法,其特征在于,所述本地数据,以及执行所述任务的本地节点或客户端部署在内网或/和本地局域网。
3.根据权利要求1所述的任务调度方法,其特征在于,还包括对任务进行拆解的方法:
获得多个本地节点的资源指标和历史执行效率;
将所述任务进行拆解,获得多个子任务;
根据子任务的资源类型,以及所述资源指标和执行效率,对本地节点的任务优先指数进行评分;
根据所述评分对子任务的本地节点进行分配;
接收各个本地节点反馈的子任务执行结果;
对各个子任务执行结果进行汇总。
4.根据权利要求3所述的任务调度方法,其特征在于,任务优先指数表示为:
R=K1×V+K2×M+K3×S+K4×D+K5×P
其中,R表示为任务优先指数,K1,K2,K3,K4,K5表示为权重系数;V表示为CPU能力指数,M表示为内存指数,S表示为网络带宽指数,D表示为存储资源指数,P表示为历史任务完成效率。
5.根据权利要求4所述的任务调度方法,其特征在于,
Vcpu=Rate×N;
V=Vcpu/MAX_Vcpu;
M=M0/MAX_M0;
S=S0/MAX_S0;
D=D0/MAX_D0;
P=(P0+1)/(MAX_P0+1);
其中,Rate表示为CPU的当前空闲利用率,N表示为CPU的核心数量,Vcpu为当前CPU可用能力值,MAX_Vcpu为候选节点的CPU可用能力值的最大值;M0表示为当前可使用的内存容量,MAX_M0为候选节点的内存容量最大值或客户端可使用的内存容量最大值;S0表示为当前可使用的网络带宽,MAX_S0表示为候选节点的最大网络带宽或客户端可使用的最大网络带宽;D0表示为当前存储容量,MAX_D0表示为候选节点最大存储容量或客户端可使用的最大存储容量;P0表示为当前任务执行效率,MAX_P0表示为候选节点或客户端的历史任务执行效率的最大值。
6.根据权利要求4所述的任务调度方法,其特征在于,还包括根据子任务的类型进行任务调度的方法:
获得子任务的类型,分别为所述类型建立相应任务优先指数的模型;
基于相应的模型,获得各个节点关于所述子任务的任务优先指数;
基于任务优先指数最大化,进行子任务调度。
7.根据权利要求1所述的任务调度方法,其特征在于,具体的任务调度方法包括:
通过浏览器或用户交互界面获取用户提供给远程SAAS服务器的登录信息;
远程SAAS服务器对登录信息鉴权后,同步本地节点中客户端的用户身份;
通过浏览器或用户交互界面接收用户所下达的任务,并上传给远程SAAS服务器;
远程SAAS服务器根据所述任务向本地节点的客户端下发任务和代码;
本地节点的客户端基于API接口从本地数据中读取执行所述任务所需的数据,并执行所述代码获得任务的执行结果;
将所述执行结果保存到本地数据中,并反馈给浏览器;
将所述任务的执行状态反馈给远程SAAS服务器;
其中,所述客户端与远程SAAS服务器之间设有数据保密策略。
8.一种基于本地数据的任务调度方法,其特征在于,包括以下步骤:
响应于接收到的任务,生成执行所述任务的代码;
将所述任务和代码下发到本地节点;
接收由本地节点上传的远程数据,其中,本地节点基于本地数据和代码执行所述任务,获得执行结果,并根据执行结果,生成本地结果数据和远程数据;
基于所述远程数据,对本地节点的任务执行进行监控。
9.一种用于实现如权利要求1-7任一项所述任务调度方法的系统,其特征在于,包括客户端,
所述客户端用于接收任务和执行所述任务的代码,并根据本地数据和所述代码,执行所述任务,获得执行结果;根据所述执行结果,生成本地结果数据和远程数据;将所述本地结果数据保存到本地数据中;并将远程数据返回给任务的发送方。
10.根据权利要求9所述的系统,其特征在于,还包括SAAS服务器,
所述客户端部署在本地节点中,本地节点中还部署有浏览器,
所述浏览器用于获得用户提交的任务,并将所述任务发送给SAAS服务器,
所述SAAS服务器用于根据所述任务,生成执行所述任务的代码,并将所述任务和代码下发到本地节点的客户端。
CN202310883146.4A 2023-07-18 2023-07-18 基于本地数据的任务调度方法和系统 Pending CN116909706A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310883146.4A CN116909706A (zh) 2023-07-18 2023-07-18 基于本地数据的任务调度方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310883146.4A CN116909706A (zh) 2023-07-18 2023-07-18 基于本地数据的任务调度方法和系统

Publications (1)

Publication Number Publication Date
CN116909706A true CN116909706A (zh) 2023-10-20

Family

ID=88366367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310883146.4A Pending CN116909706A (zh) 2023-07-18 2023-07-18 基于本地数据的任务调度方法和系统

Country Status (1)

Country Link
CN (1) CN116909706A (zh)

Similar Documents

Publication Publication Date Title
CN108089921B (zh) 用于云端大数据运算架构的服务器及其运算资源最佳化方法
Liu et al. FogWorkflowSim: An automated simulation toolkit for workflow performance evaluation in fog computing
EP1875348B1 (en) Method, system and program product for outsourcing resources in a grid computing environment
US8640132B2 (en) Jobstream planner considering network contention and resource availability
RU2433463C2 (ru) Динамическое перепозиционирование потока работ конечными пользователями
Ghobaei-Arani et al. LP-WSC: a linear programming approach for web service composition in geographically distributed cloud environments
US20050289388A1 (en) Dynamic cluster configuration in an on-demand environment
US11630685B2 (en) Hypervisor and container placement and cost optimization utilizing machine learning
CN111209077A (zh) 深度学习框架设计方法
EP3798930A2 (en) Machine learning training resource management
US20080221857A1 (en) Method and apparatus for simulating the workload of a compute farm
US11856053B2 (en) Systems and methods for hybrid burst optimized regulated workload orchestration for infrastructure as a service
Ghasemi et al. A cost-aware mechanism for optimized resource provisioning in cloud computing
Ciavotta et al. Architectural design of cloud applications: A performance-aware cost minimization approach
CN114846490A (zh) 量化机器人流程自动化相关资源的使用
CN110928659B (zh) 一种具有自适应功能的数值水池系统远程多平台接入方法
CN116909706A (zh) 基于本地数据的任务调度方法和系统
CN111290855B (zh) 分布式环境中多gpu服务器的gpu卡管理方法、系统及存储介质
Liu et al. A Fast and Efficient Task Offloading Approach in Edge-Cloud Collaboration Environment
CN110297693B (zh) 一种分布式软件任务分配的方法及其系统
US11789781B1 (en) Load generation for benchmarking
US20240184271A1 (en) Autoscaling strategies for robotic process automation
Owen et al. Using MCC Facility Metrics to Size, Inform, and Troubleshoot
woon Ahn et al. Mirra: Rule-based resource management for heterogeneous real-time applications running in cloud computing infrastructures
Moreno-Vozmediano et al. Influence of grid economic factors on scheduling and migration

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