CN111797314A - 数据处理方法、装置、设备和存储介质 - Google Patents
数据处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN111797314A CN111797314A CN202010600647.3A CN202010600647A CN111797314A CN 111797314 A CN111797314 A CN 111797314A CN 202010600647 A CN202010600647 A CN 202010600647A CN 111797314 A CN111797314 A CN 111797314A
- Authority
- CN
- China
- Prior art keywords
- objective function
- function
- data
- service
- data processing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了数据处理方法、装置、设备和存储介质,涉及云平台技术领域。具体实现方案为:在监测到业务数据处理事件时,从预先注册的候选函数中选择目标函数;基于所述目标函数对所述业务数据进行处理;根据所述目标函数的运行状态数据,调整所述目标函数使用的物理资源。本申请能够提高数据处理效率。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及云平台技术领域,具体涉及一种数据处理方法、装置、设备和存储介质。
背景技术
目前搜索、推荐成为用户内容消费的主流方式,不管是图文内容,还是小视频、短视频和长视频等新媒体内容,都需要将这些超大规模的海量内容数据存储起来、索引起来,以高效的通过搜索、推荐等方式分发给用户使用。然而内容数据的快速增长具备潮汐式特点,传统的数据管理方式会造成持续占用机器资源,造成机器成本以及运维成本增加。
发明内容
本公开提供了一种用于数据处理方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种数据处理方法,包括:
在监测到业务数据处理事件时,从预先注册的候选函数中选择目标函数;
基于所述目标函数对所述业务数据进行处理;
根据所述目标函数的运行状态数据,调整所述目标函数使用的物理资源。
根据本公开的一方面,提供了一种数据处理装置,包括:
目标函数选择模块,用于在监测到业务数据处理事件时,从预先注册的候选函数中选择目标函数;
业务数据处理模块,用于基于所述目标函数对所述业务数据进行处理;
物理资源调整模块,用于根据所述目标函数的运行状态数据,调整所述目标函数使用的物理资源。
根据本公开的一方面,提供了一种电子设备,该电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请实施例中任一项所述的数据处理方法。
根据本公开的一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请实施例中任一项所述的数据处理方法。
根据本申请的技术能够提高数据处理的效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例提供的一种数据处理方法的流程示意图;
图2是根据本申请实施例提供的一种数据处理方法的流程示意图;
图3是根据本申请实施例提供的一种数据处理方法的流程示意图;
图4是根据本申请实施例提供的一种数据处理方法的流程示意图;
图5是根据本申请实施例提供的一种数据处理方法的流程示意图;
图6A是根据本申请实施例提供的一种数据处理系统的结构示意图;
图6B是根据本申请实施例提供的候选函数注册的流程示意图;
图7是根据本申请实施例提供的一种数据处理装置的结构示意图;
图8是用来实现本申请实施例的数据处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例提供的数据处理方法的流程示意图。本实施例可适用于提高物理资源占用率情况。本实施例公开的数据处理方法可以由电子设备执行,具体可以由数据处理装置来执行,该装置可以由软件和/或硬件的方式实现,配置于电子设备中。参见图1,本实施例提供的数据处理方法包括:
S110、在监测到业务数据处理事件时,从预先注册的候选函数中选择目标函数。
其中,业务数据处理事件是指对获取到的内容数据进行的计算服务事件;其中,内容数据是指在搜索引擎或者推荐引擎中获取到的相关数据,例如新闻资讯、问答类文章等。在本申请实施例中,业务数据处理事件是指在离线状态下对每个垂直领域的内容数据进行精细加工,以为用户分发更精准的信息服务。由于离线的内容数据处理会直接影响到线上的相关检索效果,因此在对业务数据处理事件进行处理时,需要保证离线内容数据计算的稳定性和时效性。
候选函数用于针对不同类型或者领域的内容数据执行某种特定功能的业务逻辑实现,在本申请实施例中,候选函数可以根据各垂直领域的业务逻辑进行预先设计并注册,因此各候选函数有其所属的垂直领域或者所属实现的具体业务逻辑。可选的,候选函数的设计可以由开发工作人员根据各领域的业务类别属性进行设置。目标函数是指针对业务数据处理事件需要实现的业务逻辑,目标函数的确定与业务数据处理事件的具体内容相关。
具体的,开发工作人员根据待处理内容数据的业务逻辑实现设计候选函数,并注册候选函数;在监测到业务数据处理事件时,确定该业务数据处理事件关联的业务逻辑类型,根据业务逻辑类型确定实现的候选函数为目标函数。示例性的,业务数据处理事件关联的业务逻辑类型可以根据关键词进行分析得到,例如根据关键词可以确定所属垂直领域,根据领域从候选函数中确定目标函数。通过业务数据处理事件选择目标函数,能够提高业务逻辑实现的针对性,避免无关候选函数的运行造成资源浪费,提高内容数据计算的效率。
S120、基于目标函数对业务数据进行处理。
其中,目标函数是关于该业务数据的业务逻辑实现。
根据该目标函数中的具体的业务逻辑对该业务数据进行处理,示例性的,目标函数对业务数据的处理可以依托于该函数的实例,其中,函数实例是指具体的业务数据处理逻辑,例如检索模型训练等,具体可以根据业务数据的实际情况进行设计,在此不作限定。
S130、根据目标函数的运行状态数据,调整目标函数使用的物理资源。
其中,运行状态数据用于对该目标函数正在进行业务逻辑处理的内容数据情况进行表征。物理资源用于对该目标函数对内容数据进行业务逻辑处理时所占用的物理资源情况进行表征。
在本申请实施例中,可选的,目标函数的运行状态数据为目标函数的流量和/或数据量;相应地,目标函数使用的物理资源包括目标函数使用的CPU、网络带宽和硬盘中的至少一项物理资源。其中,目标函数的流量和/或数据量可以对目标函数当前处理的内容数据进行监控,目标函数使用的CPU、网络带宽和硬盘中的至少一项物理资源可以对目标函数所进行的计算服务占用机器资源进行表征。
具体的,目标函数在运行过程中,对目标函数的流量和数据量进行监控,并根据监控得到的流量和数据量情况调整目标函数所使用的物理资源。例如当目标函数运行过程中的流量小于第一预设阈值时,则减少该目标函数运行的实例数量;相反,当目标函数运行过程中的流量大于第二预设阈值时,则添加该目标函数运行的实例数量。
通过对目标函数的运行状态数据的监控,实现根据运行状态数据自动调整物理资源调度,实现对内容数据业务处理的透明化以及高效性。
本申请实施例的技术方案,通过根据业务数据处理事件确定运行的目标函数,并且对目标函数的运行状态数据进行监控,实现对目标函数所使用的物理资源的自动调度,提高目标函数对业务数据处理的效率,以及提高物理资源的利用率。
图2是根据本申请实施例提供的一种数据处理方法的流程示意图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图2,本实施例提供的数据处理方法包括:
S210、在监测到业务数据处理事件时,从预先注册的候选函数中选择目标函数。
S220、基于目标函数对业务数据进行处理。
S230、根据目标函数的运行状态数据,确定目标函数需要的标准实例数量。
其中,实例用于对目标函数的具体业务逻辑进行实现,示例性的,目标函数的业务逻辑是对业务数据进行模型训练,则该目标函数的实例是具体的模型训练逻辑,即实例用于对关联的目标函数进行实现。标准实例数量是指该目标函数对当前实际业务数据进行处理所需要运行的实例数量,即根据当前实际业务数据的流量和数据量确定需要并行运行的实例数量,避免运行实例数量过多造成机器资源被占用浪费,或者运行实例数量过少造成业务数据处理不及时,影响线上效果。
具体的,目标函数在运行过程中,对目标函数的流量和数据量进行监控,并根据监控得到的流量和数据量情况确定与该流量和数据量匹配的标准实例数量。示例性的,标准实例数量与运行状态数据之间的映射关系可以根据历史运行情况进行设置,或者根据经验值进行确定。
S240、根据目标函数需要的标准实例数量,调整目标函数的实例。
根据目标函数需要的标准实例数量,调整目标函数当前实际的实例数量。示例性的,若目标函数需要的标准实例数量大于当前正在运行的实例数量,说明目标函数当前正在运行的实例不足以支撑对业务数据的处理,则对当前正在运行的实例进行添加;若目标函数需要的标准实例数量小于当前正在运行的实例数量,说明目标函数当前正在运行的实例有部分并未起到处理业务数据的作用,则对当前正在运行的实例进行迁移,以减少正在运行的实例数量,使得目标函数需要的标准实例数量与目标函数当前正在运行的实例匹配。
在一个可选的实施例中,调整目标函数的实例包括通过副本控制器根据当前实际情况确定当前运行的实例是否正常,若存在异常实例,则主动将该异常实例进行迁移,保证目标函数的计算服务的正常工作。
本申请实施例的技术方案,通过标准实例数量的确定,能够根据目标函数的当前实际运行状态情况进行资源调度,控制目标函数的实例数量,进一步提高机器资源的利用率。
图3是根据本申请实施例提供的一种数据处理方法的流程示意图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图3,本实施例提供的数据处理方法包括:
S310、在监测到业务数据处理事件时,从预先注册的候选函数中选择目标函数。
在一个可选的实施例中,业务数据处理事件根据获取到的业务数据进行确定,业务数据中包括其所属的业务类型,例如包括索引key,根据业务数据的key与候选函数进行匹配,选择对该key的业务数据进行处理的候选函数为目标函数。
S320、通过函数管理器生成目标函数的运行指令,且向函数即服务FaaS发送运行指令。
其中,函数管理器用于对注册在其中的候选函数进行管理,例如根据业务数据确定触发的目标函数,或者注册候选函数等。
具体的,函数管理器根据业务数据处理事件确定待运行的目标函数,并生成该目标函数的运行指令,向函数即服务FaaS(Function as a Service)发送运行指令,以执行FaaS中该目标函数的实例。
在一个可选的实施例中,函数管理器中包括目标函数的运行条件,该运行条件是在目标函数注册在函数管理器时所添加的,函数管理器根据当前业务数据的情况确定是否达到运行条件,若达到,则生成该目标函数的运行指令,并向Faas发送该运行指令。示例性的,待运行目标函数的运行条件为接收到的关联key的业务数据达到预设阈值,则在该key的业务数据的流量达到预设阈值时,触发该目标函数,生成目标函数的运行指令,且向函数即服务FaaS发送运行指令。
其中,函数即服务FaaS可以理解为功能服务化,FaaS提供一种服务碎片化的软件架构范式,可以让研发只需关注业务代码逻辑,不需要再关注技术架构。例如:FaaS提供“选择工作流模板”、“启动工作流”、“完成流程”、“查看工作流状态“功能,当触发“启动工作流”事件后,再研发所需的业务代码,实现了业务与架构分离,并且实现了自助运行服务代码,研发工作人员无需配置或管理服务器,只需关注具体业务逻辑的实现,例如候选函数的注册等。
S330、通过FaaS调用后端即服务BaaS,运行目标函数实例对业务数据进行处理。
其中,后端即服务BaaS(Backend as a Service)是将公有云数据中心资源根据前端应用场景打包,通过简化的调用接口提供给开发者使用。通过减负,开发者得以集中精力于用户的研究、APP软件的创意与设计以及移动端的应用开发即可,能大幅简化开发过程、周期、人员与资金投入,从而降低成本,并能把移动APP应用快速推向市场。
在本申请实施例中,通过BaaS为函数实例的运行提供后台服务,其中包括多媒体处理服务、数据读取和存储服务(支持mongo、Abase、Redis、XDB等)以及丰富的策略计算等。其中,策略计算包括数据加工融合、语义偏差理解或者对业务数据抽取核心思想等。即通过BaaS获取目标函数实例运行过程中所需的业务数据以及经过处理后的业务数据。
具体的,FaaS接收到目标函数的运行指令后,确定该目标函数所需运行的函数实例,并通过Baas调用业务数据,根据该业务数据运行函数实例,以实现对业务数据的数据计算。
S340、根据目标函数的运行状态数据,调整目标函数使用的物理资源。
本申请实施例的技术方案,通过函数即服务FaaS以及后端即服务BaaS之间的相互调用,实现了对目标函数实例的自助运行,降低了计算成本,减少了操作管理,实现自动扩展函数实例,提升运维管理效率和数据处理的效率。
图4是根据本申请实施例提供的一种数据处理方法的流程示意图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图4,本实施例提供的数据处理方法包括:
S410、在监测到业务数据处理事件时,从预先注册的候选函数中选择目标函数。
S420、基于目标函数对业务数据进行处理。
S430、若根据目标函数的运行状态数据监测到目标函数在第一时间待处理的业务数据量大于数据量阈值,则控制目标函数在第二时间启动;其中,第二时间早于第一时间。
目标函数的运行状态数据包括历史运行状态数据,根据目标函数的历史运行状态数据监测到目标函数在第一时间待处理的业务数据量大于数据量阈值,则控制目标函数提前启动,也就是在第二时间启动。
通过控制目标函数提前启动,避免因数据量的突然增加导致数据堵塞,目标函数对业务数据计算不及时,通过目标函数通过历史运行状态数据确定待处理的业务数据量的高峰期,在高峰期来临前,让目标服务冷启动开始消费业务数据,避免数据堵塞。
示例性的,根据目标函数的运行状态数据确定目标函数在北京时间五点起待处理的业务数据量突增,大于数据量阈值,则控制目标函数在北京时间四点起开始启动,其中,数据量阈值可以根据目标函数处理数据的速度进行确定,或者根据经验值进行确定。
在一个可选的实施例中,步骤420之后,还包括:
若根据目标函数的运行状态数据监测到目标函数的当前流量小于流量阈值,则控制目标函数处于休眠状态。
目标函数的运行状态数据包括对目标函数实例运行过程中的实时流量监控结果。具体的,在目标函数的实例运行过程中对目标函数的当前流量进行监控,若当前流量小于流量阈值,说明目标函数当前待处理的业务数据较少,控制目标函数处于休眠状态,示例性的,对FaaS中目标函数的实例进行迁移。其中,流量阈值根据目标函数处理业务数据的实际情况进行确定,或者根据经验值进行确定。
通过对目标函数当前流量与流量阈值的比较,能够避免在目标函数待处理的业务数据较少时仍保持实例运行造成的机器成本损耗,保证机器物理资源的合理利用。
在一个可选的实施例中,该方法还包括:
统计目标函数实际使用的物理资源信息,供目标函数的提供方查看。
目标函数实际使用的物理资源信息可以包括目标函数实例运行时使用的CPU、网络带宽和硬盘中的至少一项物理资源,即实际使用的物理资源信息表示了该目标函数运行时的机器成本消耗情况。
将该目标函数实际使用的物理资源信息进行统计,示例性的,根据FaaS中实例运行时的监控日志数据进行分析得到该目标函数实际使用的物理资源信息。并将统计得到的物理资源信息提供给目标函数的提供方查看,示例性的,研发人员通过平台上传候选函数,则也可以通过平台查看该函数实际使用的物理资源信息,以便根据统计得到的物理资源信息进行收费计算实际应用。
通过对目标函数实际使用的物理资源信息的统计,便于提供方实时查看信息,提高提供方对目标函数运行情况的掌握度。
本申请实施例的技术方案,通过对目标函数执行冷启动控制以及休眠控制,提高业务数据的处理效率以及物理资源利用率,降低机器成本。
图5是根据本申请实施例提供的一种数据处理方法的流程示意图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图5,本实施例提供的数据处理方法包括:
S510、将获取的业务数据标识与预先注册的候选函数的运行条件进行匹配,且根据匹配结果从候选函数中选择目标函数。
其中,业务数据标识用于对数据所属业务类别进行表征。候选函数的运行条件是由开发人员根据该候选函数实际业务逻辑进行预先设置的。
具体的,建立候选函数的运行条件与业务数据的业务数据标识之间的映射关系,示例性的,根据候选函数的处理业务逻辑为候选函数添加业务逻辑标识,并建立业务逻辑标识与业务数据标识之间的映射关系,在获取到业务数据后,根据其业务数据标识确定匹配的业务逻辑标识,进行从候选函数中选择目标函数。
示例性的,获取到的业务数据的业务数据标识为医疗对话,则根据医疗对话确定候选函数中业务逻辑为处理医疗对话的对象,并将其确定为目标函数。
通过业务数据标识与候选函数的运行条件进行匹配确定目标函数,能够提高目标函数确定的准确度,避免目标函数的错误运行造成机器成本浪费。
S520、基于目标函数对业务数据进行处理。
S530、根据目标函数的运行状态数据,调整目标函数使用的物理资源。
在一个可选的实施例中,还包括:
将用户提供的函数作为候选函数,且获取用户输入的候选函数的运行条件;其中,函数基于函数开发窗口中提供的候选函数模板开发得到。
其中,用户包括研发人员,研发人员通过提交代码确定候选函数,并且为候选函数设置运行条件,运行条件可以根据该候选函数实际处理的业务逻辑进行确定,提高候选函数运行的精准度。
候选函数可以基于函数开发窗口提供的候选函数模开发,以减少研发人员的开发工作量,简化开发步骤。示例性的,函数开发窗口提供至少一种业务类型的候选函数模板,用户根据实际需求从候选函数模板中选择相适应的模板,通过对模板中的参数进行替换,以形成符合实际业务逻辑需求的候选函数。
本申请实施例的技术方案,通过业务数据标识的设置提高了目标函数确定的精准度,进而能够减少机器成本的浪费;并且通过候选函数模板开发候选函数,提高用户的开发效率。
图6A是根据本申请实施例提供的数据处理系统的结构示意图。参见图6A,数据处理系统包括内容触发器、函数管理器、函数即服务FaaS、后端即服务BaaS、控制平面、数据平面以及平台。
其中,内容触发器是指对接收到的内容数据进行触发判断的模块,示例性的,内容数据包括从kafka中获取到的流式数据以及从内存mongo、Abase、Redis、XDB中获取到的批量数据。触发判断是根据内容数据的具体信息进行确定,示例性的,根据内容数据的索引key进行判断。函数管理器是指对注册的候选函数进行管理,以及根据内容触发器的判断确定目标函数。
函数即服务FaaS用于提供无服务框架的业务实现,基于FaaS可以实现函数实例的自动运行,且可以屏蔽底层架构的具体实现逻辑,提高开发人员的开发效率。后端即服务BaaS为FaaS中的实例运行时的业务数据处理提供后台服务,包括多媒体处理服务、数据读取和存储服务(支持mongo、Abase、Redis、XDB等)、丰富的策略计算等。并且BaaS提供标准化API,开发人员可以直接通过FaaS实现对BaaS中数据的直接访问,提高业务数据的处理效率。
控制平面用于对无服务框架中的资源进行管理,以及包括容错机制和干预机制等。数据平面用于对业务数据处理结果进行生效,具体包括业务数据从进入系统到线上生效的整个架构通路,例如业务数据引入、业务数据处理(目标函数的实例运行)、建库(对业务数据处理结果进行分发)等。平台用于提供开发人员与无服务框架进行交互的平台,例如开发人员可以通过平台对候选函数进行注册控制,以及对目标函数实例运行情况进行监控统计,以便根据统计结果进行相关处理,例如收费计算等。
具体的,开发人员通过平台提交候选函数的代码,以实现在函数管理器中注册候选函数。具体的,图6B是根据本申请实施例提供的候选函数注册的流程示意图,参见图6B,开发人员可以通过无服务框架提供的线上开发窗口提交候选函数的代码,线上开发窗口中包括各业务类型的候选函数模板,开发人员基于候选函数模板开发候选函数,简化了开发操作,提高开发效率,示例性的,根据线上开发窗口进行简单参数指定、前端插件等工具生成数据拓扑图,通过数据拓扑图描述候选函数中的拓扑关系。同时开发人员也可以通过线下开发候选函数的代码并提交,提高候选函数覆盖的全面性。同时,开发人员可以设置候选函数的运行条件,例如候选函数关联的业务类别key,如依据key对候选函数是关于医疗对话或者小说玄幻进行判断。提交的候选函数会进行测试验证,以保证候选函数的可执行性。示例性的,候选函数的提交任务到测试平台流程中进行验证,根据预先设置的数据集进行数据验证。
本申请实施例的技术方案,能够实现自助运行业务逻辑代码,用户无需配置或管理服务器,实现用户的易用性,并且用户接入以及迁移成本都小时甚至分钟级完成,使得用户可以专注于业务逻辑创新,提高开发效率。
无服务框架在接收到开发人员提交的代码后,将候选函数以及候选函数关联的运行条件注册到函数管理器中,函数管理器根据内容触发器接收到的业务数据进行函数运行判断。
内容触发器接收到相关业务数据,则根据业务数据的key判断该业务数据是否达到触发条件,例如该业务数据的数据量是否达到预设阈值,若达到触发条件,则将该业务数据以及关联的key发送至函数管理器,函数管理器根据key与注册的候选函数进行匹配,选择待运行的目标函数,并且函数管理器生成目标函数的运行指令,且向FaaS发送该目标函数的运行指令,使得FaaS调用BaaS中的业务数据以对FaaS中的目标函数的实例进行运行,实现对业务数据的处理。
目标函数实例的运行过程中,FaaS将目标函数的实例运行过程中的日志数据、资源使用数据以及分析数据发送至控制平面,通过控制平面进行监控,以实现动态调整目标函数的运行实例的物理资源占用。具体包括:控制平面根据业务数据的当前实际流量以及当前实际数据量控制为该目标函数下发的整体实例数量;控制平台根据该目标函数的历史实例运行情况分配下发实例;控制平面还包括副本控制器,根据当前实例运行的实际情况确定当前实例是否正常,若存在异常实例,则主动将实例进行迁移,保证目标函数的实例正常工作,示例性的,异常实例的监测包括运行异常实例监测(机器热点),以及服务启动实例异常检测迁移(启动长尾);控制平面还包括资源统计模块,统计目标函数实例运行过程中的实际资源使用情况,以告知相关业务服务;控制平面还可以根据目标函数的运行状态控制目标函数处于休眠状态,或者针对时效性要求高的目标函数,可以预先冷启动以消费该目标函数的业务数据,避免数据堵塞;针对稳定性要求高的目标函数,例如广告业务,可以通过重复执行相关实例以实现数据的完全生效线上。此外,控制平面还包括干预机制,用户级别的操作可干预回滚,同时可以针对于不同类型的调度控制可以干预。
根据实际业务数据流量自动调整资源调度,实现对业务逻辑处理的透明化和实时伸缩性。并且业务处理能力吞吐提高、延时降低、允许异常容错机制,保证业务逻辑对应实例的稳定运行,异常实例自动迁移机制保证服务顺利运行。
在现有技术中,对于离线的机器计算服务,由于计算服务并不是时刻都有业务数据进行处理,因此在无业务数据或者数据量少的情况下,机器计算服务对造成机器成本的浪费。在本申请实施例中,在对目标函数的实例进行运行时,根据目标函数的实际运行情况对实例运行情况进行自动调整,可以减少机器成本,提高业务数据处理的效率。
FaaS中目标函数的实例对业务数据进行处理完成后,数据平面将相关数据处理结果分发至不同的数据中心,以实现对业务数据的线上生效。
本申请实施例的技术方案,针对业务内容数据的计算场景提供了一种无服务框架,开发人员通过该框架实现快速开发,减少开发人员的操作过程,缩短业务部署时间;并且通过无服务框架实现函数实例的自动运行,且自动进行资源调度,实现对业务数据处理的透明化和高弹性。
图7是根据本申请实施例提供的数据处理装置的结构示意图。参见图7,本申请实施例公开了数据处理装置700,该装置700可以配置于无服务框架中,该装置700可以包括:
目标函数选择模块701,用于在监测到业务数据处理事件时,从预先注册的候选函数中选择目标函数;
业务数据处理模块702,用于基于所述目标函数对所述业务数据进行处理;
物理资源调整模块703,用于根据所述目标函数的运行状态数据,调整所述目标函数使用的物理资源。
可选的,所述物理资源调整模块703,具体用于:
根据所述目标函数的运行状态数据,确定所述目标函数需要的标准实例数量;
调用副本控制器,根据所述目标函数需要的标准实例数量,调整所述目标函数的实例。
可选的,所述目标函数的运行状态数据为所述目标函数的流量和/或数据量;相应地,所述目标函数使用的物理资源包括所述目标函数使用的CPU、网络带宽和硬盘中的至少一项物理资源。
可选的,所述业务数据处理模块702,具体用于:
通过函数管理器生成所述目标函数的运行指令,且向函数即服务FaaS发送所述运行指令;
通过所述FaaS调用后端即服务BaaS,运行目标函数实例对所述业务数据进行处理。
可选的,所述装置还包括业务数据流监测模块,具体用于:
若根据所述目标函数的运行状态数据监测到所述目标函数在第一时间待处理的业务数据量大于数据量阈值,则控制所述目标函数在第二时间启动;
其中,所述第二时间早于所述第一时间。
可选的,所述装置还包括流量监测模块,具体用于:
若根据所述目标函数的运行状态数据监测到所述目标函数的当前流量小于流量阈值,则控制所述目标函数处于休眠状态。
可选的,所述装置还包括物理资源信息统计模块,具体用于:
统计所述目标函数实际使用的物理资源信息,供所述目标函数的提供方查看。
可选的,所述目标函数选择模块,具体用于:
将获取的业务数据标识与预先注册的候选函数的运行条件进行匹配,且根据匹配结果从所述候选函数中选择目标函数。
可选的,还包括候选函数确定模块,具体用于:
将用户提供的函数作为所述候选函数,且获取所述用户输入的所述候选函数的运行条件;其中,所述函数基于函数开发窗口中提供的候选函数模板开发得到。
本申请实施例的技术方案,通过根据业务数据处理事件确定运行的目标函数,并且对目标函数的运行状态数据进行监控,实现对目标函数所使用的物理资源的自动调度,提高目标函数对业务数据处理的效率,以及提高物理资源的利用率。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图8所示,是根据本申请实施例的数据处理的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。
存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的数据处理的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的数据处理的方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的数据处理的方法对应的程序指令/模块(例如,附图7所示的目标函数选择模块701、业务数据处理模块702以及物理资源调整模块703)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的数据处理的方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据处理的电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存储存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至数据处理的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
数据处理的方法的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与数据处理的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
本申请实施例的技术方案,通过根据业务数据处理事件确定运行的目标函数,并且对目标函数的运行状态数据进行监控,实现对目标函数所使用的物理资源的自动调度,提高目标函数对业务数据处理的效率,以及提高物理资源的利用率。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (20)
1.一种数据处理方法,包括:
在监测到业务数据处理事件时,从预先注册的候选函数中选择目标函数;
基于所述目标函数对所述业务数据进行处理;
根据所述目标函数的运行状态数据,调整所述目标函数使用的物理资源。
2.根据权利要求1所述的方法,其中,所述根据所述目标函数的运行状态数据,调整所述目标函数使用的物理资源,包括:
根据所述目标函数的运行状态数据,确定所述目标函数需要的标准实例数量;
根据所述目标函数需要的标准实例数量,调整所述目标函数的实例。
3.根据权利要求1所述的方法,其中,所述目标函数的运行状态数据为所述目标函数的流量和/或数据量;相应地,所述目标函数使用的物理资源包括所述目标函数使用的CPU、网络带宽和硬盘中的至少一项物理资源。
4.根据权利要求1-3中任一项所述的方法,其中,所述基于所述目标函数对所述业务数据进行处理,包括:
通过函数管理器生成所述目标函数的运行指令,且向函数即服务FaaS发送所述运行指令;
通过所述FaaS调用后端即服务BaaS,运行目标函数实例对所述业务数据进行处理。
5.根据权利要求1所述的方法,所述基于所述目标函数对所述业务数据进行处理之后,还包括:
若根据所述目标函数的运行状态数据监测到所述目标函数在第一时间待处理的业务数据量大于数据量阈值,则控制所述目标函数在第二时间启动;
其中,所述第二时间早于所述第一时间。
6.根据权利要求1所述的方法,所述基于所述目标函数对所述业务数据进行处理之后,还包括:
若根据所述目标函数的运行状态数据监测到所述目标函数的当前流量小于流量阈值,则控制所述目标函数处于休眠状态。
7.根据权利要求1所述的方法,所述方法还包括:
统计所述目标函数实际使用的物理资源信息,供所述目标函数的提供方查看。
8.根据权利要求1所述的方法,所述在监测到业务数据处理事件时,从预先注册的候选函数中选择目标函数,包括:
将获取的业务数据标识与预先注册的候选函数的运行条件进行匹配,且根据匹配结果从所述候选函数中选择目标函数。
9.根据权利要求8所述的方法,还包括:
将用户提供的函数作为所述候选函数,且获取所述用户输入的所述候选函数的运行条件;其中,所述函数基于函数开发窗口中提供的候选函数模板开发得到。
10.一种数据处理装置,包括:
目标函数选择模块,用于在监测到业务数据处理事件时,从预先注册的候选函数中选择目标函数;
业务数据处理模块,用于基于所述目标函数对所述业务数据进行处理;
物理资源调整模块,用于根据所述目标函数的运行状态数据,调整所述目标函数使用的物理资源。
11.根据权利要求10所述的装置,其中,所述物理资源调整模块,具体用于:
根据所述目标函数的运行状态数据,确定所述目标函数需要的标准实例数量;
调用副本控制器,根据所述目标函数需要的标准实例数量,调整所述目标函数的实例。
12.根据权利要求10所述的装置,其中,所述目标函数的运行状态数据为所述目标函数的流量和/或数据量;相应地,所述目标函数使用的物理资源包括所述目标函数使用的CPU、网络带宽和硬盘中的至少一项物理资源。
13.根据权利要求10-12中任一项所述的装置,其中,所述业务数据处理模块,具体用于:
通过函数管理器生成所述目标函数的运行指令,且向函数即服务FaaS发送所述运行指令;
通过所述FaaS调用后端即服务BaaS,运行目标函数实例对所述业务数据进行处理。
14.根据权利要求10所述的装置,所述装置还包括业务数据流监测模块,具体用于:
若根据所述目标函数的运行状态数据监测到所述目标函数在第一时间待处理的业务数据量大于数据量阈值,则控制所述目标函数在第二时间启动;
其中,所述第二时间早于所述第一时间。
15.根据权利要求10所述的装置,所述装置还包括流量监测模块,具体用于:
若根据所述目标函数的运行状态数据监测到所述目标函数的当前流量小于流量阈值,则控制所述目标函数处于休眠状态。
16.根据权利要求10所述的装置,所述装置还包括物理资源信息统计模块,具体用于:
统计所述目标函数实际使用的物理资源信息,供所述目标函数的提供方查看。
17.根据权利要求10所述的装置,所述目标函数选择模块,具体用于:
将获取的业务数据标识与预先注册的候选函数的运行条件进行匹配,且根据匹配结果从所述候选函数中选择目标函数。
18.根据权利要求17所述的装置,还包括候选函数确定模块,具体用于:
将用户提供的函数作为所述候选函数,且获取所述用户输入的所述候选函数的运行条件;其中,所述函数基于函数开发窗口中提供的候选函数模板开发得到。
19.一种电子设备,其中,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010600647.3A CN111797314A (zh) | 2020-06-28 | 2020-06-28 | 数据处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010600647.3A CN111797314A (zh) | 2020-06-28 | 2020-06-28 | 数据处理方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111797314A true CN111797314A (zh) | 2020-10-20 |
Family
ID=72804683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010600647.3A Pending CN111797314A (zh) | 2020-06-28 | 2020-06-28 | 数据处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111797314A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114844843A (zh) * | 2022-03-24 | 2022-08-02 | 清华大学 | 应用实例数量的调整方法及装置 |
WO2023061295A1 (zh) * | 2021-10-13 | 2023-04-20 | 杭州趣链科技有限公司 | 数据处理方法、装置、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109508432A (zh) * | 2018-11-28 | 2019-03-22 | 段红 | 一种基于区块链的高性能faas系统 |
US20190179678A1 (en) * | 2017-12-07 | 2019-06-13 | International Business Machines Corporation | Computer server application execution scheduling latency reduction |
CN110162413A (zh) * | 2018-02-12 | 2019-08-23 | 华为技术有限公司 | 事件驱动方法及装置 |
CN110650215A (zh) * | 2019-10-24 | 2020-01-03 | 百度在线网络技术(北京)有限公司 | 边缘网络的函数执行方法及装置 |
CN110659330A (zh) * | 2019-09-23 | 2020-01-07 | 北京百度网讯科技有限公司 | 数据处理方法、装置及存储介质 |
CN111162939A (zh) * | 2019-12-25 | 2020-05-15 | 广东省新一代通信与网络创新研究院 | 一种网络设备控制方法、装置、计算设备及网络系统 |
CN111274733A (zh) * | 2020-02-03 | 2020-06-12 | 广东美的暖通设备有限公司 | 数据处理方法、数据处理装置、空调系统和存储介质 |
-
2020
- 2020-06-28 CN CN202010600647.3A patent/CN111797314A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190179678A1 (en) * | 2017-12-07 | 2019-06-13 | International Business Machines Corporation | Computer server application execution scheduling latency reduction |
CN110162413A (zh) * | 2018-02-12 | 2019-08-23 | 华为技术有限公司 | 事件驱动方法及装置 |
CN109508432A (zh) * | 2018-11-28 | 2019-03-22 | 段红 | 一种基于区块链的高性能faas系统 |
CN110659330A (zh) * | 2019-09-23 | 2020-01-07 | 北京百度网讯科技有限公司 | 数据处理方法、装置及存储介质 |
CN110650215A (zh) * | 2019-10-24 | 2020-01-03 | 百度在线网络技术(北京)有限公司 | 边缘网络的函数执行方法及装置 |
CN111162939A (zh) * | 2019-12-25 | 2020-05-15 | 广东省新一代通信与网络创新研究院 | 一种网络设备控制方法、装置、计算设备及网络系统 |
CN111274733A (zh) * | 2020-02-03 | 2020-06-12 | 广东美的暖通设备有限公司 | 数据处理方法、数据处理装置、空调系统和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023061295A1 (zh) * | 2021-10-13 | 2023-04-20 | 杭州趣链科技有限公司 | 数据处理方法、装置、电子设备和存储介质 |
CN114844843A (zh) * | 2022-03-24 | 2022-08-02 | 清华大学 | 应用实例数量的调整方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
US9559993B2 (en) | Virtual agent proxy in a real-time chat service | |
CN102307133B (zh) | 一种公有云平台虚拟机调度方法 | |
JP2023520420A (ja) | チャットボットのために不均衡なトレーニングデータを取り扱うためのバッチング技術 | |
CN111831420A (zh) | 用于任务调度的方法、装置、电子设备及计算机可读存储介质 | |
CN112437018A (zh) | 分布式集群的流量控制方法、装置、设备和存储介质 | |
US10033659B2 (en) | Reputation-based mediation of virtual control planes | |
CN111694646A (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
US8667495B1 (en) | Virtual resource provider with virtual control planes | |
US10454855B2 (en) | System and method for predicting availability status changes of instant messenger users | |
US9553774B2 (en) | Cost tracking for virtual control planes | |
WO2022103575A1 (en) | Techniques for modifying cluster computing environments | |
CN111865720B (zh) | 用于处理请求的方法、装置、设备以及存储介质 | |
US20230300086A1 (en) | On-demand resource capacity in a serverless function-as-a-service infrastructure | |
CN111913808A (zh) | 任务分配的方法、装置、设备以及存储介质 | |
CN113361838A (zh) | 业务风控方法、装置、电子设备和存储介质 | |
CN114257550B (zh) | 接口访问流量的自动控制方法、装置、存储介质及服务器 | |
CN111797314A (zh) | 数据处理方法、装置、设备和存储介质 | |
US9729718B2 (en) | Dynamic agent workflow based on contact center load | |
CN110750419B (zh) | 离线任务的处理方法、装置、电子设备及存储介质 | |
CN112486644A (zh) | 用于生成信息的方法、装置、设备以及存储介质 | |
KR102464688B1 (ko) | 모니터링 결과의 이벤트 등급 결정 방법 및 장치 | |
CN112583737A (zh) | 流量调整方法和装置 | |
US11979444B1 (en) | Mesh management for redistribution of online events | |
CN113382310B (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 |