CN113238821A - 数据处理的加速方法、装置、电子设备及存储介质 - Google Patents
数据处理的加速方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113238821A CN113238821A CN202110605882.4A CN202110605882A CN113238821A CN 113238821 A CN113238821 A CN 113238821A CN 202110605882 A CN202110605882 A CN 202110605882A CN 113238821 A CN113238821 A CN 113238821A
- Authority
- CN
- China
- Prior art keywords
- value
- preset
- function
- encoding
- coding
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012545 processing Methods 0.000 title claims abstract description 58
- 230000001133 acceleration Effects 0.000 title abstract description 28
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 198
- 238000004590 computer program Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 235000021110 pickles Nutrition 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请提供了一种数据处理的加速方法、装置、电子设备及存储介质,其中,该方法包括:获取第一输入参数,对第一输入参数进行编码,得到第一编码值;若预设字典中包括第一编码值,则从预设字典中获取与第一编码值一一对应的第一运算值或第二编码值;若获取到第一运算值,则输出第一运算值;若获取到第二编码值,则对第二编码值进行解码,得到第一运算值,并输出第一运算值。本申请实施例无需通过运行程序来对输入参数进行运算以产生缓存,有利于降低计算资源的消耗,提升程序或函数的运行效率,从而使计算资源满足实际需求。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理的加速方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的发展,计算机程序已经在众多场景中被用来解决运算问题,比如:图像处理、深度学习、自然语言处理、编程教学,等等。应当理解的,以上场景都涉及到大量的运算,在计算设备环境较差,或是高并发,或是重复运算等情况下,计算机程序中函数的调用往往会消耗大量的计算资源,如此就会导致函数运行效率低下,从而产生计算资源难以满足实际需求的问题。
发明内容
本申请实施例提供了一种数据处理的加速方法、装置、电子设备及存储介质。
本申请实施例第一方面提供了一种数据处理的加速方法,该方法包括:
获取第一输入参数,对所述第一输入参数进行编码,得到第一编码值;
若预设字典中包括所述第一编码值,则从所述预设字典中获取与所述第一编码值一一对应的第一运算值或第二编码值;
若获取到所述第一运算值,则输出所述第一运算值;
若获取到所述第二编码值,则对所述第二编码值进行解码,得到所述第一运算值,并输出所述第一运算值。
结合第一方面,在一种可能的实施方式中,所述方法还包括:
若所述预设字典中不包括所述第一编码值,则采用预设函数对所述第一输入参数进行运算,得到所述第一运算值;
基于所述第一编码值和所述第一运算值构建第一输入输出对;
将所述第一输入输出对注册在所述预设字典中。
结合第一方面,在一种可能的实施方式中,基于所述第一编码值和所述第一运算值构建第一输入输出对,包括:
若检测到预设编码函数缺失,则将所述第一编码值和所述第一运算值组成所述第一输入输出对;
若检测到所述预设编码函数未缺失,则采用所述预设编码函数对所述第一运算值进行编码,得到所述第二编码值;
将所述第一编码值和所述第二编码值组成所述第一输入输出对。
结合第一方面,在一种可能的实施方式中,在将所述第一编码值和所述第二编码值组成所述第一输入输出对之前,所述方法还包括:
检测所述第二编码值是否符合所述预设编码函数的编码标准;
若所述第二编码值不符合所述编码标准,则采用所述预设编码函数对所述第一运算值重新进行编码,以得到符合所述编码标准的所述第二编码值。
结合第一方面,在一种可能的实施方式中,所述对所述第一输入参数进行编码,得到第一编码值,包括:
检测所述预设字典中是否存在所述第一输入参数与所述预设函数的对应关系;
若所述预设字典中存在所述对应关系,则计算所述第一输入参数的哈希值,将所述第一输入参数的哈希值确定为所述第一编码值。
结合第一方面,在一种可能的实施方式中,在获取第一输入参数之前,所述方法还包括:
将所述第一输入参数绑定到所述预设函数的签名中,得到所述对应关系;
将所述对应关系存储至所述预设字典中。
结合第一方面,在一种可能的实施方式中,所述方法通过调用目标函数接口实现,所述目标函数接口通过对所述预设函数、所述预设字典、所述预设编码函数以及预设解码函数进行抽象封装得到,所述目标函数接口用于实现所述预设函数、所述预设字典、所述预设编码函数以及所述预设解码函数相同的功能,所述目标函数接口、所述预设函数、所述预设字典、所述预设编码函数以及所述预设解码函数抽象封装于第一抽象类中。
结合第一方面,在一种可能的实施方式中,在对所述第一输入参数进行编码之前,所述方法还包括:
初始化第二抽象类,以使所述第二抽象类继承所述第一抽象类;
所述从所述预设字典中获取与所述第一编码值一一对应的第一运算值或第二编码值,包括:
在所述第二抽象类中,调用所述第一抽象类的函数接口从所述预设字典中获取所述第一运算值;或者,
在所述第二抽象类中,调用所述第一抽象类的函数接口从所述预设字典中获取所述第一运算值的文件路径,得到所述第二编码值。
结合第一方面,在一种可能的实施方式中,所述采用所述预设编码函数对所述第一运算值进行编码,得到所述第二编码值,包括:
在所述第二抽象类中,采用所述预设编码函数获取预设的所述第一运算值的所述文件路径;
将所述文件路径作为所述第一运算值的编码值,得到所述第二编码值。
结合第一方面,在一种可能的实施方式中,在获取第一输入参数之前,所述方法还包括:
获取第二输入参数,对所述第二输入参数进行编码,得到第三编码值;
对所述第二输入参数进行运算,得到第二运算值;
基于所述第三编码值和所述第二运算值构建第二输入输出对;
将所述第二输入输出对注册在所述预设字典中,并对所述预设字典进行存储。
本申请实施例第二方面提供了一种数据处理的加速装置,该装置包括:
收发单元,用于获取第一输入参数;
处理单元,用于对所述第一输入参数进行编码,得到第一编码值;
所述处理单元,还用于若预设字典中包括所述第一编码值,则从所述预设字典中获取与所述第一编码值一一对应的第一运算值或第二编码值;
所述处理单元,还用于若获取到所述第一运算值,则输出所述第一运算值;
所述处理单元,还用于若获取到所述第二编码值,则对所述第二编码值进行解码,得到所述第一运算值,并输出所述第一运算值。
本申请实施例第三方面提供了一种电子设备,该电子设备包括输入设备和输出设备,还包括处理器,适于实现一条或多条指令;以及,计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如上述第一方面所述方法中的步骤。
本申请实施例第四方面提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如上述第一方面所述方法中步骤。
本申请实施例第五方面提供了一种计算机程序产品,其中,上述计算机程序产品包括计算机程序,上述计算机程序可操作来使计算机执行如上述第一方面所述方法中的步骤。该计算机程序产品可以为一个软件安装包。
可以看出,本申请实施例中通过获取第一输入参数,对第一输入参数进行编码,得到第一编码值;若预设字典中包括所述第一编码值,则从预设字典中获取与第一编码值一一对应的第一运算值或第二编码值;若获取到第一运算值,则输出第一运算值;若获取到第二编码值,则对第二编码值进行解码,得到第一运算值,并输出所述第一运算值。这样将获取第一输入参数到得到第一运算值的整个逻辑进行缓存,通过查找预设字典,便可得到第一编码值对应的第一运算值或第二编码值,无需每次都运行程序来对输入参数进行运算以产生缓存,有利于降低计算资源的消耗,提升程序或函数的运行效率,从而使计算资源满足实际需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用环境的架构图;
图2为本申请实施例提供的一种数据处理的加速方法的流程示意图;
图3为本申请实施例提供的一种检查预设字典到注册预设字典的示意图;
图4为本申请实施例提供的一种构建预设字典以及对第一抽象类进行抽象封装的示意图;
图5为本申请实施例提供的另一种数据处理的加速方法的流程示意图;
图6为本申请实施例提供的一种数据处理的加速装置的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请说明书、权利要求书和附图中出现的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同的对象,而并非用于描述特定的顺序。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
本申请实施例提出一种数据处理的加速方法,可基于图1所示的应用环境实施,如图1所示,该应用环境包括电子设备101和与电子设备101通信连接的至少一个终端设备102,电子设备101和终端设备102通信连接的方式可以是串口连接、无线网络连接等。其中,电子设备101可以用于为在线编程平台的服务端提供运行环境和基础,本申请实施例所涉及到的电子设备可以包括各种具有程序代码运行能力和通信能力的设备,比如电子设备101可以是独立的物理服务器,也可以是服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器。其中,终端设备102上运行有在线编程平台的客户端,终端设备102提供有输入装置和显示装置,输入装置(比如键盘、鼠标、触控显示屏)可用于接收用户输入的程序代码或指令,显示装置可用于对程序代码运行的运算结果进行显示。本申请实施例所涉及到的终端设备102可以是用户电脑(比如台式电脑、笔记本电脑、掌上电脑)、智能手机等。为方便描述,上面提到的终端设备统称为终端设备102。
本申请实施例中,在线编程平台可以是浏览器/服务器架构的平台,具体而言,在线编程平台可以是用于为K12(kindergarten through twelfth grade,学前至高中)和高职学校的人工智能教学服务的平台、人工智能科创平台,等等。在线编程平台的服务端基于电子设备101提供的环境和基础运行程序代码,该程序代码可以是用户通过在线编程平台的客户端输入的,该程序代码采用Java、python等计算机程序设计语言编写。其中,用户可以通过调用在线编程平台提供的函数接口对输入参数进行编码,得到编码值,查找预设字典中是否注册有该编码值,若有则获取与该编码值一一对应的运算值或对该运算值进行编码得到的编码值,若预设字典中注册的是运算值,则直接向终端设备102输出该运算值,若预设字典中注册的是该运算值的编码值,则对该编码值进行解码得到运算值,然后向终端设备102输出该运算值。
本申请实施例中,图1所示的架构可用于深度学习模型训练、推理等场景中,这些场景需要程序中的函数对特定输入(比如:神经网络权值)重复进行计算、需要缓存持久化保存或者需要在不共享内存的进程甚至不同主机之间进行共享,采用图1所示的架构实现本申请实施例提供的数据处理的加速方法,可在上述场景中对运算函数进行加速。
本申请实施例中,图1所示的架构还可用于人工智能的编程教学平台中,通过在编程教学平台中提供快速实现上述方法逻辑的函数接口,使得用户在计算资源较差,重复使用输入参数的场景下,可以实现一些计算性能复杂的函数用于教学演示。
以下对本申请实施例可能用到的技术术语进行简要说明。
缓存
磁盘缓存分为读缓存和写缓存。读缓存是指,操作系统为已读取的文件数据,在内存较空闲的情况下留在内存空间中(这个内存空间被称之为“内存池”),当下次软件或用户再次读取同一文件时就不必重新从磁盘上读取,从而提高速率。写缓存实际上就是将要写入磁盘的数据先保存于系统为写缓存分配的内存空间中,当保存到内存池中的数据达到一定程度时,便将数据保存到磁盘中。这样可以减少实际的磁盘操作,有效保护磁盘被重复的读写操作而导致的损坏,也能减少写入所需的时间。
哈希值
一般的线性表、树中,记录在结构中的相对位置是随机的,即和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较”的基础上,查找的效率依赖于查找过程中所进行的比较次数。理想的情况是能直接找到需要的记录,因此必须在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使每个关键字和结构中一个唯一的存储位置相对应,而哈希值正好能达到这样的效果。
以下结合相关附图对本申请实施例提供的数据处理的加速方法进行详细阐述。
请参见图2,图2为本申请实施例提供的一种数据处理的加速方法的流程示意图,该方法应用于电子设备,如图2所示,包括步骤201-204:
201:获取第一输入参数,对第一输入参数进行编码,得到第一编码值。
本申请实施例中,第一输入参数是指预设函数当前的输入参数,预设函数可以是深度学习中的运算函数、矩阵运算函数、图像处理函数等等。示例性的,获取第一输入参数之前,通过访问预设函数,将第一输入参数预先绑定到预设函数的签名中,即可得到第一输入参数与预设函数的对应关系,然后将该对应关系存储到预设字典中。其中,预设函数的签名是指上述运算函数、矩阵运算函数、图像处理函数等的签名,一个函数的签名定义了函数的输入和输出,包括函数名、参数类型、参数个数、顺序以及它所在的类和命名空间。预设字典可以是Python语言中唯一的映射类型,可存储任意类型对象,比如本申请中的输入输出对,映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的关系,通常被认为是可变的哈希表。示例性的,当需要调用预设函数对第一参数进行运算时,检测预设字典中是否存在第一输入参数与预设函数的对应关系,若预设字典中存在该对应关系,则计算第一输入参数的哈希值,将该第一输入参数的哈希值确定为第一输入参数的编码值,即第一编码值。
其中,第一输入参数可以是用户当前输入的,也可以是在预设路径中的,或者还可以是从程序提取出的,哈希值可以采用现有哈希算法计算得到。当然,哈希值仅是一种示例,还可以采用其他值作为第一输入参数的编码值,比如文件路径,即本申请实施例预留了对输入进行编码的空间,用户可以根据需要自定义输入的编码方案。
其中,第一输入参数可以是深度学习模型训练中的样本数据、图像文本等样本数据的特征值或深度学习模型的权值,等等,该第一输入参数可以是一个序列,可以由用户进行自定义,比如在程序中定义出哪些参数需要用到的函数。
202:若预设字典中包括第一编码值,则从预设字典中获取与第一编码值一一对应的第一运算值或第二编码值。
本申请实施例中,如图3所示,在对第一输入参数进行编码得到第一编码值后,检查第一编码值是否在预设字典中,若是则从预设字典中获取与第一编码值一一对应的第一运算值或第二编码值,第一运算值是指采用预设函数运算得到的值,第二编码值是指采用预设编码函数对第一运算值进行编码得到的值,其中,预设编码函数可自定义,比如针对不同的预设函数可以采用不同的编码函数,也可以采用同一个编码函数。可选的,预先注册输入输出对至预设字典时,根据预设函数的输出形式,可以将第一编码值和第一运算值作为输入输出对,也可以将第一编码值和第二编码值作为输入输出对,比如,可以根据用户的设置来确定预设函数的输出形式,还可以根据预设编码函数是否缺失来确定预设的输出形式。因此,根据函数的输出形式不同,可能从预设字典中获取到第一运算值,也可能获取到第二编码值。简而言之,本申请实施例对不同函数都具有适应性,可以满足不同函数不同输出的需求。
203:若获取到第一运算值,则输出第一运算值。
204:若获取到第二编码值,则对第二编码值进行解码,得到第一运算值,并输出第一运算值。
本申请实施例中,请继续参见图3,若程序中未设定预设解码函数,则可确定获取到的是第一运算值,无需做其他操作,直接输出第一运算值,若程序中设定有预设解码函数,则可确定获取到的是第二编码值,采用预设解码算法对第二编码进行解码,得到第一运算值,然后输出第一运算值。其中,未设定预设解码函数说明对第一运算值并没有加密或编码,则可确定预设字典中存储的是第一运算值而不是第二编码值。
示例性的,请继续参见图3,若预设字典中不包括第一编码值,则采用预设函数对第一输入参数进行运算,得到第一运算值,基于第一编码值和第一运算值构建第一输入输出对,将第一输入输出对注册在预设字典中,以对预设字典进行更新。应当理解的,第一输入输出对是指基于当前的第一输入参数构建的输入输出对,对于每一个输入输出编码对,需要指定其输入参数、使用到的预设函数、使用到的预设编码函数(可选)以及运算值的编码值(可选)。
示例性的,上述基于第一编码值和第一运算值构建第一输入输出对,包括:
若检测到预设编码函数缺失,则将第一编码值和第一运算值组成第一输入输出对;
若检测到预设编码函数未缺失,则采用预设编码函数对第一运算值进行编码,得到第二编码值;
将第一编码值和第二编码值组成第一输入输出对。
本申请实施例中,若程序中未设定对运算值进行编码的预设编码函数,则无需对运算值进行编码,直接使用运算值进行注册。即当没有预设编码函数,由第一运算值和第一编码值组成第一输入输出对;当有预设编码函数,采用预设编码函数对第一运算值进行编码,得到第一编码值,由第二编码值和第一编码值组成第一输入输出对。与对第一输入参数进行编码类似的,本申请实施例预留了对输出进行编码的空间,用户可以根据需要自定义输出的编码方案。
示例性的,在将第一编码值和第二编码值组成所述第一输入输出对之前,该方法还包括:
检测第二编码值是否符合预设编码函数的编码标准;
若第二编码值不符合编码标准,则采用预设编码函数对第一运算值重新进行编码,以得到符合预设编码函数的编码标准的第二编码值。
本申请实施例中,在向预设字典注册输入输出对之前,需要对输入输出对中的输出编码值进行合法性检测。应当理解的,编码函数都有一定的编码标准,比如对编码值的数据结构有不同的要求,若第二编码值不符合预设编码函数的编码标准,则合法性检测不通过,确定第二编码值不可使用。该情况下,采用预设编码函数对第一运算值重新进行编码,以使得第二编码值符合预设编码函数的编码标准。
示例性的,本申请实施例提供的数据处理的加速方法,通过调用目标函数接口实现,该目标函数接口是通过对预设函数、预设字典、预设编码函数以及预设解码函数进行抽象封装得到的快速实现函数接口,该目标函数接口与预设函数的接口保持一致,即该目标函数接口用于实现预设函数、预设字典、预设编码函数以及预设解码函数相同的功能。另外,该目标函数接口还用于实现检查输入参数的输入编码值(比如:第一编码值)是否在预设字典中,若在则执行从预设字典中获取与输入编码值一一对应的运算值或输出编码值的操作,以及若获取到的是输出编码值,则执行解码还原操作。
示例性的,本申请实施例定义了第一抽象类作为整体实现的抽象,比如该第一抽象类可以是基础的BasicDemo(计算机程序设计语言中的基础代码库)类,在该第一抽象类中实现预设函数、预设字典、预设编码函数以及预设解码函数的相关功能,如图4所示,将预设函数、预设字典、预设编码函数以及预设解码函数的相关功能抽象封装为目标函数接口,即目标函数接口、预设函数、预设字典、预设编码函数以及预设解码函数抽象封装于第一抽象类中。
示例性的,请继续参见图4,在定义了第一抽象类的基础上,该方法还包括:
获取第二输入参数,对第二输入参数进行编码,得到第三编码值;
对第二输入参数进行运算,得到第二运算值;
基于第三编码值和第二运算值构建第二输入输出对;
将第二输入输出对注册在预设字典中,并对预设字典进行存储。
本申请实施例中,第二输入参数是指构建预设字典时的输入参数,即需要将一些函数的实现预先生成相应的缓存,以在后续对输入参数进行处理时,无需运行程序来生成缓存,只需检查预设字典便可快速获取到缓存的值。应当理解的,第二输入输出对是指基于第二输入参数构建的输入输出对。
其中,第二输入参数为一个或多个,与第一输入参数类似的,同样需要将第二输入参数绑定到预设函数的签名中,以得到每个第二输入参数与对应预设函数的对应关系,以使在获取到第二输入参数时,通过哈希算法产生第二输入参数的哈希值,将该哈希值作为第二输入参数的第三编码值。另外,采用第二输入参数对应的预设函数对第二参数进行运算,得到第二运算值,根据预设函数的输出形式,可以将第三编码值和第二运算值组成第二输入输出对,也可以采用预设编码函数对第二运算值进行编码得到第四编码值,将第三编码值和第四编码值组成第二输入输出对,将第二输入输出对注册到预设字典中,并进行存储。其中,图4中仅示出以第三编码值和第四编码值组成第二输入输出对的情况。需要说明的是,第二输入参数之间、第二输入参数与第一输入参数之间所使用到的预设函数、预设编码函数等可以相同也可以不同,预设字典可以存储在pickle(一个python语言中的标准模块)上。
示例性的,若产生有第四编码值,则在将第三编码值和第四编码值组成第二输入输出对之前,需要检测第四编码值是否符合预设编码函数的编码标准,若符合,则将第三编码值和第四编码值分别作为关键字和值注册在预设字典中,若不符合,则需要对第二运算值重新进行编码。
该实施方式中,通过将第二输入输出对注册到预设字典中,然后将预设字典存储在磁盘的内存空间,有利于为需要的输入输出信息产生缓存,满足了程序中函数对持久化缓存的需求。
可以看出,本申请实施例通过获取第一输入参数,对第一输入参数进行编码,得到第一编码值;若预设字典中包括所述第一编码值,则从预设字典中获取与第一编码值一一对应的第一运算值或第二编码值;若获取到第一运算值,则输出第一运算值;若获取到第二编码值,则对第二编码值进行解码,得到第一运算值,并输出所述第一运算值。这样将获取第一输入参数到得到第一运算值的整个逻辑预先进行缓存,通过查找预设字典,便可得到第一编码值对应的第一运算值或第二编码值,无需每次都运行程序来对输入参数进行运算以产生缓存,有利于降低计算资源的消耗,提升程序或函数的运行效率,从而使计算资源满足实际需求。另外,本申请实施例适用于各种函数,满足各种函数对输出形式的要求,同时又预留了输入输出的编码解码空间,可在各平台间进行移植,泛化性强。
请参见图5,图5为本申请实施例提供的另一种数据处理的加速方法的流程示意图,如图5所示,包括步骤501-508:
501:获取第一输入参数,对第一输入参数进行编码,得到第一编码值;
502:检查预设字典中是否包括第一编码值,若是则执行步骤503,若否则执行步骤506;
503:从预设字典中获取与第一编码值一一对应的第一运算值或第二编码值;
504:若获取到第一运算值,则输出第一运算值;
505:若获取到第二编码值,则对第二编码值进行解码,得到第一运算值,并输出第一运算值;
506:采用预设函数对第一输入参数进行运算,得到第一运算值;
507:基于第一编码值和第一运算值构建第一输入输出对;
508:将第一输入输出对注册在预设字典中。
本申请实施例中,定义了第二抽象类来继承第一抽象类,比如该第二抽象类可以是FileDemo(程序语言中操作文件的类)类,在对第一输入参数进行编码之前,通过初始化该第二抽象类以使第二抽象类继承第一抽象类,从而使第二抽象类可以用于实现与第一抽象类相同的功能,比如,可以在该第二抽象类中读取已经注册好的预设字典、检查第一编码值是否在预设字典中、检测第二编码值是否符合预设函数的编码标准、注册第一输入输出编码对等,即在第二抽象类中同样可实现图2所示实施例的方法。
示例性的,上述从预设字典中获取与第一编码值一一对应的第一运算值或第二编码值,包括:
在所述第二抽象类中,调用第一抽象类的函数接口从预设字典中获取第一运算值;或者,
在第二抽象类中,调用第一抽象类的函数接口从预设字典中获取第一运算值的文件路径,得到第二编码值。
本申请实施例中,由于第二抽象类是继承了第一抽象类,因此第二抽象类中可以通过调用第一抽象类的函数接口来实现第一抽象类中相同的功能,比如:目标函数接口。采用第一运算值的文件路径作为第一运算值的编码值,在预设字典中包括第一编码值,且存在与之一一对应的第二编码值(即该文件路径)的情况下,从预设字典中获取到的是该文件路径,基于该文件路径便可得到第一运算值。若预设字典中与第一编码值一一对应的是第一运算值,则与图2所示实施例一致,直接输出该第一运算值。比如预设编码函数缺失的情况下,预设字典中注册的是第一编码值和第一运算值。该实施方式中,通过检查预设字典中的文件路径即可得到对应的运算值,无需运行程序来产生相应的缓存,有利于降低计算资源的占用或消耗。
示例性的,上述采用预设编码函数对第一运算值进行编码,得到第二编码值,包括:
在第二抽象类中,采用预设编码函数获取预设的第一运算值的文件路径;
将文件路径作为第一运算值的编码值,得到第二编码值。
本申请实施例中,若基于第二抽象类实现数据处理的加速方法,则在对第一运算值进行编码方面通过预设编码函数获取第一运算值的文件路径即可,用该文件路径作为第一运算值的第二编码值,其中,该文件路径是预先定义的。进一步的,对该文件路径是否符合预设函数的编码标准进行检测,在检测通过的情况下,将第一编码值和该文件路径作为第一输入输出对注册到预设字典中,以对预设字典进行更新。
其中,步骤501-508的部分实施方式在图2所示的实施例中已有相关说明,且能达到相同或相似的有益效果,此处不再赘述。
基于图2或图5所示方法实施例的描述,本申请实施例还提供一种数据处理的加速装置,请参见图6,图6为本申请实施例提供的一种数据处理的加速装置的结构示意图,如图6所示,该装置包括:
收发单元601,用于获取第一输入参数;
处理单元602,用于对第一输入参数进行编码,得到第一编码值;
处理单元602,还用于若预设字典中包括第一编码值,则从预设字典中获取与第一编码值一一对应的第一运算值或第二编码值;
处理单元602,还用于若获取到第一运算值,则输出第一运算值;
处理单元602,还用于若获取到第二编码值,则对第二编码值进行解码,得到第一运算值,并输出第一运算值。
在一种可能的实施方式中,处理单元602还用于:
若预设字典中不包括第一编码值,则采用预设函数对第一输入参数进行运算,得到第一运算值;
基于第一编码值和第一运算值构建第一输入输出对;
将第一输入输出对注册在预设字典中。
在一种可能的实施方式中,在基于第一编码值和第一运算值构建第一输入输出对方面,处理单元602具体用于:
若检测到预设编码函数缺失,则将第一编码值和第一运算值组成第一输入输出对;
若检测到预设编码函数未缺失,则采用预设编码函数对第一运算值进行编码,得到第二编码值;
将第一编码值和第二编码值组成第一输入输出对。
在一种可能的实施方式中,处理单元602还用于:
检测第二编码值是否符合预设编码函数的编码标准;
若第二编码值不符合编码标准,则采用预设编码函数对第一运算值重新进行编码,以得到符合编码标准的第二编码值。
在一种可能的实施方式中,在对第一输入参数进行编码,得到第一编码值方面,处理单元602具体用于:
检测预设字典中是否存在第一输入参数与预设函数的对应关系;
若预设字典中存在对应关系,则计算第一输入参数的哈希值,将第一输入参数的哈希值确定为第一编码值。
在一种可能的实施方式中,处理单元602还用于:
将所述第一输入参数绑定到所述预设函数的签名中,得到所述对应关系;
将所述对应关系存储至所述预设字典中。
在一种可能的实施方式中,该方法通过调用目标函数接口实现,目标函数接口通过对预设函数、预设字典、预设编码函数以及解码函数进行抽象封装得到,目标函数接口用于实现预设函数、预设字典、预设编码函数以及预设解码函数相同的功能,目标函数接口、预设函数、预设字典、预设编码函数以及预设解码函数抽象封装于第一抽象类中。
在一种可能的实施方式中,处理单元602还用于:初始化第二抽象类,以使所述第二抽象类继承所述第一抽象类;
在从预设字典中获取与第一编码值一一对应的第一运算值或第二编码值方面,处理单元602具体用于:
在第二抽象类中,调用第一抽象类的函数接口从预设字典中获取第一运算值;或者,
在第二抽象类中,调用第一抽象类的函数接口从预设字典中获取第一运算值的文件路径,得到第二编码值。
在一种可能的实施方式中,在采用预设编码函数对第一运算值进行编码,得到第二编码值方面,处理单元602具体用于:
在第二抽象类中,采用预设编码函数获取预设的第一运算值的文件路径;
将该文件路径作为第一运算值的编码值,得到第二编码值。
在一种可能的实施方式中,处理单元602还用于:
获取第二输入参数,对第二输入参数进行编码,得到第三编码值;
对第二输入参数进行运算,得到第二运算值;
基于第三编码值和第二运算值构建第二输入输出对;
将第二输入输出对注册在预设字典中,并对预设字典进行存储。
根据本申请的一个实施例,图6所示的数据处理的加速装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,数据处理的加速装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2或图5中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的数据处理的加速装置设备,以及来实现本申请实施例的数据处理的加速方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
基于上述方法实施例和装置实施例的描述,本申请实施例还提供一种电子设备,该电子设备可以是服务器。请参见图7,该电子设备至少包括处理器701、输入设备702、输出设备703以及计算机存储介质704。其中,电子设备内的处理器701、输入设备702、输出设备703以及计算机存储介质704可通过总线或其他方式连接。
计算机存储介质704可以存储在电子设备的存储器中,所述计算机存储介质704用于存储计算机程序,所述计算机程序包括程序指令,所述处理器701用于执行所述计算机存储介质704存储的程序指令。处理器701(或称CPU(Central Processing Unit,中央处理器))是电子设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
在一个实施例中,本申请实施例提供的电子设备的处理器701可以用于进行一系列数据处理的加速方法:
获取第一输入参数,对第一输入参数进行编码,得到第一编码值;
若预设字典中包括第一编码值,则从预设字典中获取与第一编码值一一对应的第一运算值或第二编码值;
若获取到第一运算值,则输出第一运算值;
若获取到第二编码值,则对第二编码值进行解码,得到第一运算值,并输出第一运算值。
再一个实施例中,处理器701还用于执行:
若预设字典中不包括第一编码值,则采用预设函数对第一输入参数进行运算,得到第一运算值;
基于第一编码值和第一运算值构建第一输入输出对;
将第一输入输出对注册在预设字典中。
再一个实施例中,处理器701执行基于第一编码值和第一运算值构建第一输入输出对,包括:
若检测到预设编码函数缺失,则将第一编码值和第一运算值组成第一输入输出对;
若检测到预设编码函数未缺失,则采用预设编码函数对第一运算值进行编码,得到第二编码值;
将第一编码值和第二编码值组成第一输入输出对。
再一个实施例中,在将第一编码值和第二编码值组成第一输入输出对之前,处理器701还用于执行:
检测第二编码值是否符合预设编码函数的编码标准;
若第二编码值不符合编码标准,则采用预设编码函数对第一运算值重新进行编码,以得到符合编码标准的第二编码值。
再一个实施例中,处理器701执行对第一输入参数进行编码,得到第一编码值,包括:
检测预设字典中是否存在第一输入参数与预设函数的对应关系;
若预设字典中存在对应关系,则计算第一输入参数的哈希值,将第一输入参数的哈希值确定为第一编码值。
再一个实施例中,在获取第一输入参数之前,处理器701还用于执行:
将第一输入参数绑定到预设函数的签名中,得到对应关系;
将对应关系存储至预设字典中。
再一个实施例中,方法通过调用目标函数接口实现,目标函数接口通过对预设函数、预设字典、预设编码函数以及预设解码函数进行抽象封装得到,目标函数接口用于实现预设函数、预设字典、预设编码函数以及预设解码函数相同的功能,目标函数接口、预设函数、预设字典、预设编码函数以及预设解码函数抽象封装于第一抽象类中。
再一个实施例中,在对第一输入参数进行编码之前,处理器701还用于执行:初始化第二抽象类,以使第二抽象类继承第一抽象类;
处理器701执行从预设字典中获取与第一编码值一一对应的第一运算值或第二编码值,包括:
在第二抽象类中,调用第一抽象类的函数接口从预设字典中获取第一运算值;或者,
在第二抽象类中,调用第一抽象类的函数接口从预设字典中获取第一运算值的文件路径,得到第二编码值。
再一个实施例中,处理器701执行采用预设编码函数对第一运算值进行编码,得到第二编码值,包括:
在第二抽象类中,采用预设编码函数获取预设的第一运算值的文件路径;
将文件路径作为第一运算值的编码值,得到第二编码值。
再一个实施例中,在获取第一输入参数之前,处理器701还用于执行:
获取第二输入参数,对第二输入参数进行编码,得到第三编码值;
对第二输入参数进行运算,得到第二运算值;
基于第三编码值和第二运算值构建第二输入输出对;
将第二输入输出对注册在预设字典中,并对预设字典进行存储。
示例性的,电子设备可包括但不仅限于处理器701、输入设备702、输出设备703以及计算机存储介质704,输入设备702可以是键盘、触摸屏等,输出设备703可以是扬声器、显示器、射频发送器等。本领域技术人员可以理解,所述示意图仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
需要说明的是,由于电子设备的处理器701执行计算机程序时实现上述图2或图5所示的数据处理的加速方法中的步骤,因此图2或图5所示的数据处理的加速方法的实施例均适用于该电子设备,且均能达到相同或相似的有益效果。
本申请实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是电子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器701加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器701的计算机存储介质。在一个实施例中,可由处理器701加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关数据处理的加速方法的相应步骤。
示例性的,计算机存储介质的计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,由于计算机存储介质的计算机程序被处理器执行时实现上述的数据处理的加速方法中的步骤,因此上述数据处理的加速方法的所有实施例均适用于该计算机存储介质,且均能达到相同或相似的有益效果。
本申请实施例还提供了一种计算机程序产品,其中,上述计算机程序产品包括计算机程序,上述计算机程序可操作来使计算机执行如上述数据处理的加速方法中的步骤。该计算机程序产品可以为一个软件安装包。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种数据处理的加速方法,其特征在于,所述方法包括:
获取第一输入参数,对所述第一输入参数进行编码,得到第一编码值;
若预设字典中包括所述第一编码值,则从所述预设字典中获取与所述第一编码值一一对应的第一运算值或第二编码值;
若获取到所述第一运算值,则输出所述第一运算值;
若获取到所述第二编码值,则对所述第二编码值进行解码,得到所述第一运算值,并输出所述第一运算值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述预设字典中不包括所述第一编码值,则采用预设函数对所述第一输入参数进行运算,得到所述第一运算值;
基于所述第一编码值和所述第一运算值构建第一输入输出对;
将所述第一输入输出对注册在所述预设字典中。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一编码值和所述第一运算值构建第一输入输出对,包括:
若检测到预设编码函数缺失,则将所述第一编码值和所述第一运算值组成所述第一输入输出对;
若检测到所述预设编码函数未缺失,则采用所述预设编码函数对所述第一运算值进行编码,得到所述第二编码值;
将所述第一编码值和所述第二编码值组成所述第一输入输出对。
4.根据权利要求3所述的方法,其特征在于,在将所述第一编码值和所述第二编码值组成所述第一输入输出对之前,所述方法还包括:
检测所述第二编码值是否符合所述预设编码函数的编码标准;
若所述第二编码值不符合所述编码标准,则采用所述预设编码函数对所述第一运算值重新进行编码,以得到符合所述编码标准的所述第二编码值。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述对所述第一输入参数进行编码,得到第一编码值,包括:
检测所述预设字典中是否存在所述第一输入参数与所述预设函数的对应关系;
若所述预设字典中存在所述对应关系,则计算所述第一输入参数的哈希值,将所述第一输入参数的哈希值确定为所述第一编码值。
6.根据权利要求5所述的方法,其特征在于,在获取第一输入参数之前,所述方法还包括:
将所述第一输入参数绑定到所述预设函数的签名中,得到所述对应关系;
将所述对应关系存储至所述预设字典中。
7.根据权利要求2-6任一项所述的方法,其特征在于,所述方法通过调用目标函数接口实现,所述目标函数接口通过对所述预设函数、所述预设字典、所述预设编码函数以及预设解码函数进行抽象封装得到,所述目标函数接口用于实现所述预设函数、所述预设字典、所述预设编码函数以及所述预设解码函数相同的功能,所述目标函数接口、所述预设函数、所述预设字典、所述预设编码函数以及所述预设解码函数抽象封装于第一抽象类中。
8.根据权利要求7所述的方法,其特征在于,在对所述第一输入参数进行编码之前,所述方法还包括:
初始化第二抽象类,以使所述第二抽象类继承所述第一抽象类;
所述从所述预设字典中获取与所述第一编码值一一对应的第一运算值或第二编码值,包括:
在所述第二抽象类中,调用所述第一抽象类的函数接口从所述预设字典中获取所述第一运算值;或者,
在所述第二抽象类中,调用所述第一抽象类的函数接口从所述预设字典中获取所述第一运算值的文件路径,得到所述第二编码值。
9.根据权利要求8所述的方法,其特征在于,所述采用所述预设编码函数对所述第一运算值进行编码,得到所述第二编码值,包括:
在所述第二抽象类中,采用所述预设编码函数获取预设的所述第一运算值的所述文件路径;
将所述文件路径作为所述第一运算值的编码值,得到所述第二编码值。
10.根据权利要求1-9任一项所述的方法,其特征在于,在获取第一输入参数之前,所述方法还包括:
获取第二输入参数,对所述第二输入参数进行编码,得到第三编码值;
对所述第二输入参数进行运算,得到第二运算值;
基于所述第三编码值和所述第二运算值构建第二输入输出对;
将所述第二输入输出对注册在所述预设字典中,并对所述预设字典进行存储。
11.一种数据处理的加速装置,其特征在于,所述装置包括:
收发单元,用于获取第一输入参数;
处理单元,用于对所述第一输入参数进行编码,得到第一编码值;
所述处理单元,还用于若预设字典中包括所述第一编码值,则从所述预设字典中获取与所述第一编码值一一对应的第一运算值或第二编码值;
所述处理单元,还用于若获取到所述第一运算值,则输出所述第一运算值;
所述处理单元,还用于若获取到所述第二编码值,则对所述第二编码值进行解码,得到所述第一运算值,并输出所述第一运算值。
12.一种电子设备,包括输入设备和输出设备,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-10任一项所述的方法。
13.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110605882.4A CN113238821A (zh) | 2021-05-31 | 2021-05-31 | 数据处理的加速方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110605882.4A CN113238821A (zh) | 2021-05-31 | 2021-05-31 | 数据处理的加速方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113238821A true CN113238821A (zh) | 2021-08-10 |
Family
ID=77135975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110605882.4A Pending CN113238821A (zh) | 2021-05-31 | 2021-05-31 | 数据处理的加速方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113238821A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023130801A1 (zh) * | 2022-01-10 | 2023-07-13 | 深圳智慧林网络科技有限公司 | 基于函数的数据发送方法、装置、设备和数据接收方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104380244A (zh) * | 2012-11-07 | 2015-02-25 | 皇家飞利浦有限公司 | 存储用于计算函数的查找表的计算设备 |
CN105453481A (zh) * | 2012-12-27 | 2016-03-30 | 皇家飞利浦有限公司 | 包括表网络的计算设备 |
CN108804883A (zh) * | 2018-04-27 | 2018-11-13 | 北京奇艺世纪科技有限公司 | 一种混淆代码的运行方法和装置 |
CN110378109A (zh) * | 2019-06-26 | 2019-10-25 | 中国科学院信息工程研究所 | 降低链式哈希栈性能损耗的方法及系统 |
CN112052194A (zh) * | 2019-06-05 | 2020-12-08 | 三星电子株式会社 | 三态内容可寻址存储器及其操作方法 |
CN112215338A (zh) * | 2020-10-12 | 2021-01-12 | 北京灵汐科技有限公司 | 神经网络计算方法和装置、电子设备及存储介质 |
CN112819171A (zh) * | 2021-02-04 | 2021-05-18 | 深圳市永达电子信息股份有限公司 | 一种基于表函数的数据搜索方法、系统及计算机存储介质 |
-
2021
- 2021-05-31 CN CN202110605882.4A patent/CN113238821A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104380244A (zh) * | 2012-11-07 | 2015-02-25 | 皇家飞利浦有限公司 | 存储用于计算函数的查找表的计算设备 |
CN105453481A (zh) * | 2012-12-27 | 2016-03-30 | 皇家飞利浦有限公司 | 包括表网络的计算设备 |
CN108804883A (zh) * | 2018-04-27 | 2018-11-13 | 北京奇艺世纪科技有限公司 | 一种混淆代码的运行方法和装置 |
CN112052194A (zh) * | 2019-06-05 | 2020-12-08 | 三星电子株式会社 | 三态内容可寻址存储器及其操作方法 |
CN110378109A (zh) * | 2019-06-26 | 2019-10-25 | 中国科学院信息工程研究所 | 降低链式哈希栈性能损耗的方法及系统 |
CN112215338A (zh) * | 2020-10-12 | 2021-01-12 | 北京灵汐科技有限公司 | 神经网络计算方法和装置、电子设备及存储介质 |
CN112819171A (zh) * | 2021-02-04 | 2021-05-18 | 深圳市永达电子信息股份有限公司 | 一种基于表函数的数据搜索方法、系统及计算机存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023130801A1 (zh) * | 2022-01-10 | 2023-07-13 | 深圳智慧林网络科技有限公司 | 基于函数的数据发送方法、装置、设备和数据接收方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111242291A (zh) | 神经网络后门攻击的检测方法、装置和电子设备 | |
CN114238948A (zh) | 一种应用程序检测方法、装置、电子设备及存储介质 | |
US20230229896A1 (en) | Method and computing device for determining optimal parameter | |
CN111241496B (zh) | 确定小程序特征向量的方法、装置和电子设备 | |
CN109597982B (zh) | 摘要文本识别方法及装置 | |
CN117521625A (zh) | 问答方法、装置、电子设备及介质 | |
CN113238821A (zh) | 数据处理的加速方法、装置、电子设备及存储介质 | |
CN110888972A (zh) | 一种基于Spark Streaming的敏感内容识别方法及装置 | |
CN112843681B (zh) | 虚拟场景控制方法、装置、电子设备及存储介质 | |
CN106502707B (zh) | 代码生成方法及装置 | |
CN117252250A (zh) | 大模型预训练方法及装置 | |
CN108683749B (zh) | 一种随机邮箱地址的判断方法、设备和介质 | |
CN116662538A (zh) | 基于多任务学习的文本摘要生成方法、装置、设备及介质 | |
CN113835748B (zh) | 基于html5的应用程序的打包方法、系统和可读介质 | |
CN113656044B (zh) | 安卓安装包压缩方法、装置、计算机设备及存储介质 | |
CN117149153A (zh) | 业务数据模型的生成方法、装置、计算机设备以及介质 | |
CN118427199B (zh) | 多语言文案自适应适配方法及装置 | |
CN116913259B (zh) | 结合梯度引导的语音识别对抗防御方法及装置 | |
CN113988313B (zh) | 用户数据的删除方法、装置和电子设备 | |
CN111680170B (zh) | 周期结构的物理特性预测方法、装置及相关产品 | |
CN113535660B (zh) | 安卓日志存储方法和装置 | |
CN113449079B (zh) | 文本摘要生成方法、装置、电子设备及存储介质 | |
CN113254635B (zh) | 数据处理方法、装置及存储介质 | |
CN118153552A (zh) | 数据解析方法、装置、计算机设备和存储介质 | |
CN117972430A (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 |