CN112989139B - 一种数据查找方法及装置 - Google Patents
一种数据查找方法及装置 Download PDFInfo
- Publication number
- CN112989139B CN112989139B CN201911279523.3A CN201911279523A CN112989139B CN 112989139 B CN112989139 B CN 112989139B CN 201911279523 A CN201911279523 A CN 201911279523A CN 112989139 B CN112989139 B CN 112989139B
- Authority
- CN
- China
- Prior art keywords
- data object
- josn
- data
- target data
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012163 sequencing technique Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000010354 integration Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种数据查找方法及装置,涉及计算机技术领域,用于解决现有技术中数据查找的效率较低的问题。该方法应用于数据发送端设备,包括:获取目标数据对象集合,目标数据对象集合中包括M个数据对象;根据至少一个关键属性对数据对象进行分类,获取N个数据对象类;将N个数据对象类中的每一个数据对象类序列化为一个JOSN字符串,获取N个JOSN字符串,N个JOSN字符串均包含指示信息,任一JOSN字符串的指示信息用于指示该JOSN字符串对应的数据对象的关键属性的值;向数据接收端设备发送N个JOSN字符串,以便于数据接收端设备根据指示信息进行数据查找。本发明实施例用于在JOSN格式的数据中查找目标数据。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据查找方法及装置。
背景技术
JS对象简谱(JavaScript Object Notation,JSON)是一种轻量级的数据交换格式,其采用完全独立于编程语言的文本格式来存储和表示数据,具有层次结构简洁清晰、易于阅读、易于编写、易于解析、易于传输等诸多优点,目前JSON已成为的主流的数据交换格式。
一般情况下,使用JOSM进行数据交互的过程包括:数据发送端建立数据对象集合;再使用JOSN工具将数据对象集合中的所有数据对象序列化为JOSN字符串,并将JOSN字符串传输至数据接收端;当数据接收端接要使用数据发送端发送的JOSN字符串时,先使用JOSN工具将JOSN字符串反序列化为数据对象;然后再使用高级编程语言定位查找目标数据。由上述使用JOSM进行数据交互的过程可知,数据接收端在查找数据时,必须使用JOSN工具将接收到的全部JOSN字符串反序列化为数据对象,而一次数据传输过程中传输的JOSN字符串的数量可能会非常大,将大量的JOSN字符串反序列化为数据对象不但会占用大量计算资源,而且还需要较长的时间,因此现有技术中数据查找的效率较低。
发明内容
有鉴于此,本发明实施例提供一种数据查找方法及装置,用于解决现有技术中数据查找的效率较低的问题。
为了实现上述目的,本发明实施例提供技术方案如下:
第一方面,本发明实施例提供一种数据查找方法,应用于数据发送端设备,所述方法包括:
获取目标数据对象集合,所述目标数据对象集合中包括M个数据对象;
根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类,获取N个数据对象类;
将所述N个数据对象类中的每一个数据对象类序列化为一个JOSN字符串,获取N个JOSN字符串,所述N个JOSN字符串均包含指示信息,任一JOSN字符串的指示信息用于指示该JOSN字符串对应的数据对象的关键属性的值;
向数据接收端设备发送所述N个JOSN字符串,以便于数据接收端设备根据所述指示信息进行数据查找;
其中,M、N均为大于1的整数,且M大于N。
作为本发明实施例一种可选的实施方式,在根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类之前,所述方法还包括:
根据所述目标数据对象集合中的数据对象的属性提取所述至少一个关键属性;
其中,所述关键属性为所述目标数据对象集合中的数据对象均具有的属性。
作为本发明实施例一种可选的实施方式,所述根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类,包括:
将所述目标数据对象集合中各个关键属性的值均相同的数据对象划分为一个数据对象类。
第二方面,本发明实施例提供一种数据查找方法,应用于数据接收端设备,所述方法包括:
接收并保存数据发送端设备发送的N个JOSN字符串,所述N个JOSN字符串均包含指示信息,任一JOSN字符串的指示信息用于指示该JOSN字符串对应的数据对象的关键属性的值;
在进行目标数据对象查找时,将所述N个JOSN字符串中的每一个JOSN字符串反序列化为一个数据对象类,获取N个数据对象类;
在所述N个数据对象类中确定目标数据对象类,所述目标数据对象类为对应的数据对象的关键属性的值与所述目标数据对象的关键属性的值相同的数据对象类;
在所述目标数据对象类中查找所述目标数据对象。
作为本发明实施例一种可选的实施方式,所述在所述N个数据对象类中确定目标数据对象类,包括:
通过语言集成查询LINQ技术在所述N个数据对象类中确定所述目标数据对象类;
或者
通过Lambda技术在所述N个数据对象类中确定所述目标数据对象类。
作为本发明实施例一种可选的实施方式,所述在所述目标数据对象类中查找所述目标数据对象,包括:
将所述目标数据对象类对应的JOSN字符串反序列化为Q个数据对象,Q为正整数;
在所述Q个数据对象中查找所述目标数据对象。
第三方面,本发明实施例提供一种数据发送端设备,包括:
获取单元,用于获取目标数据对象集合,所述目标数据对象集合中包括M个数据对象;
分类单元,用于根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类,获取N个数据对象类;
转换单元,用于将所述N个数据对象类中的每一个数据对象类序列化为一个JOSN字符串,获取N个JOSN字符串,所述N个JOSN字符串均包含指示信息,任一JOSN字符串的指示信息用于指示该JOSN字符串对应的数据对象的关键属性的值;
发送单元,用于向数据接收端设备发送所述N个JOSN字符串,以便于数据接收端设备根据所述指示信息进行数据查找;
其中,M、N均为大于1的整数,且M大于N。
作为本发明实施例一种可选的实施方式,所述分类单元,还用于在根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类之前,根据所述目标数据对象集合中的数据对象的属性提取所述至少一个关键属性;
其中,所述关键属性为所述目标数据对象集合中的数据对象均具有的属性。
作为本发明实施例一种可选的实施方式,所述分类单元,具体用于将所述目标数据对象集合中各个关键属性的值均相同的数据对象划分为一个数据对象类。
第四方面,本发明实施例提供一种接收端设备,包括:
接收单元,用于接收并保存数据发送端设备发送的N个JOSN字符串,所述N个JOSN字符串均包含指示信息,任一JOSN字符串的指示信息用于指示该JOSN字符串对应的数据对象的关键属性的值;
转换单元,用于在进行目标数据对象查找时,将所述N个JOSN字符串中的每一个JOSN字符串反序列化为一个数据对象类,获取N个数据对象类;
查找单元,用于在所述N个数据对象类中确定目标数据对象类,所述目标数据对象类为对应的数据对象的关键属性的值与所述目标数据对象的关键属性的值相同的数据对象类;
所述查找单元,还用于在所述目标数据对象类中查找所述目标数据对象。
作为本发明实施例一种可选的实施方式,所述查找单元,具体用于通过语言集成查询LINQ技术在所述N个数据对象类中确定所述目标数据对象类;或者通过Lambda技术在所述N个数据对象类中确定所述目标数据对象类。
作为本发明实施例一种可选的实施方式,所述查找单元,具体用于将所述目标数据对象类对应的JOSN字符串反序列化为Q个数据对象,在所述Q个数据对象中查找所述目标数据对象;其中,Q为正整数。
第五方面,本发明实施例提供一种发送端设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面的任一实施方式所述的数据查找方法。
第六方面,本发明实施例提供一种接收端设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第二方面或第二方面的任一实施方式所述的数据查找方法。
第七方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式或第二方面或第二方面的任一实施方式所述的数据查找方法。
本发明实施例提供的数据查找方法中,数据接收端设备获取目标数据对象集合后,先根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类,然后将根据关键属性对目标数据对象集合进行分类获取的N个数据对象类中的每一个数据对象类序列化为一个JOSN字符串,最后向数据接收端设备发送所述N个JOSN字符串;数据接收端设备在进行目标数据对象查找时,先接收到的每一个JOSN字符串反序列化为一个数据对象类,然后在所述N个数据对象类中确定对应的数据对象的关键属性的值与所述目标数据对象的关键属性的值相同的目标数据对象类,最后再在目标数据对象类中查找所述目标数据对象。由于本发明实施例在进行目标数据对象查找时,可以根据数据对象类对应的数据对象的关键属性的值,确定目标数据对象所在的目标数据对象类,因此本发明实施例在进行目标数据对象查找时无需将全部JOSN字符串反序列化为数据对象,仅需要将目标数据对象类对应的JOSN字符串反序列化为数据对象即可,因此本发明实施例可以减少将JOSN字符串反序列化为数据对象时占用的计算资源以及时间长度,因此本发明实施例可以提高数据查找的效率。
附图说明
图1为本发明实施例提供的数据查找方法的步骤流程图;
图2为本发明实施例提供的数据发送端设备的示意性结构图;
图3为本发明实施例提供的数据接收端设备的示意性结构图;
图4为本发明实施例提供的数据发送端设备的硬件结构示意图;
图5为本发明实施例提供的数据接收端设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。如果不加说明,本文中的“多个”是指两个或两个以上。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,以了“第一”、“第二”等字样对功能或作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。在本发明实施例中,除非另有说明,“多个”的含义是指两个或者两个以上。
本发明的实施例提供一种数据查找方法,具体的,参照图1所示,该数据查找方法包括包括如下步骤:
S11、数据发送端设备获取目标数据对象集合。
其中,所述目标数据对象集合中包括M个数据对象,其中,M为大于1的整数。
具体的,本发明实施例中的数据发送端设备可以为移动终端或非移动终端。移动终端包括:手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、电子相框、个人数字助理(personal digital assistant,PDA)、智能手表、智能手环等移动终端,或者该数据发送端设备还可以为其他类型的移动终端,本发明实施例不作限定。为了便于理解,以下实施例中均以数据发送端设备为个人计算(personal computer,PC)为例示出。
示例性的,数据发送端设备获取目标数据对象集合可以包括下表1和表2所示的数据对象:
表1
数据类型 | 所属单位 | 人员姓名 | 工号 | 入职日期 |
单位人员 | 单位1 | 张三 | 20190001 | 2019/01/01 |
单位人员 | 单位1 | 李四 | 20190002 | 2019/01/01 |
单位人员 | 单位2 | 王五 | 20190003 | 2019/01/01 |
单位人员 | 单位2 | 赵六 | 20190003 | 2019/01/01 |
表2
数据类型 | 所属单位 | 资产类别 | 资产名称 | 资产编号 |
单位资产 | 单位1 | 计算机耗材 | 笔记本 | Z20190001 |
单位资产 | 单位1 | 计算机耗材 | 打印机 | Z20190002 |
单位资产 | 单位2 | 计算机耗材 | 笔记本 | Z20190003 |
单位资产 | 单位2 | 计算机耗材 | 打印机 | Z20190004 |
S12、数据发送端设备根据所述目标数据对象集合中的数据对象的属性提取至少一个关键属性。
其中,所述关键属性为所述目标数据对象集合中的数据对象均具有的属性。
承上示例所述,上述表1和表2所示的数据对象中,所有数据对象均具有的属性包括:数据对象类型和所属单位,因此可以从数据对象类型和所属单位中提取至少一个关键属性。具体的,提取的关键属性可以为数据对象类型或所属单位,或者提取的关键属性也可以为数据对象类型和所属单位。
进一步的,当提取的关键属性为数据对象类型和所属单位时,对应的运行程序代码可以如下所示:
S13、数据发送端设备根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类,获取N个数据对象类。
其中,N为正整数,且N小于M。
作为本发明实施例一种可选的实施方式,上述步骤S13(根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类,获取N个数据对象类),包括:
将所述目标数据对象集合中各个关键属性的值均相同的数据对象划分为一个数据对象类。
即,若两个数据对象的所有关键属性都相同,则将该两个数据对象归入同一数据对象类,否则将该两个两个数据对象归入不同的数据对象类。
承上示例所述,在上述表1和表2所示的数据对象中,若至少一个关键属性包括:数据对象类型和所述单位,且将所述目标数据对象集合中各个关键属性的值均相同的数据对象划分为一个数据对象类,则可以得到如下表3至表6所示的四个数据对象类:
表3
数据类型 | 所属单位 | 人员姓名 | 工号 | 入职日期 |
单位人员 | 单位1 | 张三 | 20190001 | 2019/01/01 |
单位人员 | 单位1 | 李四 | 20190002 | 2019/01/01 |
表4
数据类型 | 所属单位 | 人员姓名 | 工号 | 入职日期 |
单位人员 | 单位2 | 王五 | 20190003 | 2019/01/01 |
单位人员 | 单位2 | 赵六 | 20190003 | 2019/01/01 |
表5
数据类型 | 所属单位 | 资产类别 | 资产名称 | 资产编号 |
单位资产 | 单位1 | 计算机耗材 | 笔记本 | Z20190001 |
单位资产 | 单位1 | 计算机耗材 | 打印机 | Z20190002 |
表6
数据类型 | 所属单位 | 资产类别 | 资产名称 | 资产编号 |
单位资产 | 单位2 | 计算机耗材 | 笔记本 | Z20190003 |
单位资产 | 单位2 | 计算机耗材 | 打印机 | Z20190004 |
其中,表1为所属单位为“单位1”且数据对象类型为“单位人员”的数据对象组成的数据对象类,表2为所属单位为“单位2”且数据对象类型为“单位人员”的数据对象组成的数据对象类,表3为所属单位为“单位1”且数据对象类型为“单位资产”的数据对象组成的数据对象类,表4为所属单位为“单位2”且数据对象类型为“单位资产”的数据对象组成的数据对象类。
进一步的,当至少一个关键属性包括:数据对象类型和所述单位,且将所述目标数据对象集合中各个关键属性的值均相同的数据对象划分为一个数据对象类时,对应的运行程序代码可以如下所示:
S14、数据发送端设备将所述N个数据对象类中的每一个数据对象类序列化为一个JOSN字符串,获取N个JOSN字符串。
其中,所述N个JOSN字符串均包含指示信息,任一JOSN字符串的指示信息用于指示该JOSN字符串对应的数据对象的关键属性的值。
具体的,可以通过IOSN工具将数据对象类序列化为JOSN字符串。
需要说明的是,本发明实施例对指示信息所在JOSN字符串中位置、数据量以及各式均不做限定,以指示信息可以指示JOSN字符串对应的数据对象的关键属性的值为准。
承上示例所述,由将目标数据对象划分为4个数据对象类,则将每一个数据对象类序列化为一个JOSN字符串,可以获取4个JOSN字符串,示例性的,获取的4个JOSN字符串可以如下所示:
“[
{\“Department\”:\“单位1”,\“DataType”:\“单位人员”,\“data”:[]},
{\“Department\”:\“单位2”,\“DataType”:\“单位人员”,\“data”:[]},
{\“Department\”:\“单位1”,\“DataType”:\“单位资产”,\“data”:[]},
{\“Department\”:\“单位2”,\“DataType”:\“单位资产”,\“data”:[]},
]”
S15、数据发送端设备向数据接收端设备发送所述N个JOSN字符串。
对应的,数据接收端设备接收并保存所述数据发送端设备发送的N个JOSN字符串。
如上述,所述N个JOSN字符串均包含指示信息,任一JOSN字符串的指示信息用于指示该JOSN字符串对应的数据对象的关键属性的值。
需要说明的是,数据发送端设备可以逐一将N个JOSN字符串发送至数据接收端设备,也可以对所述N个JOSN字符串进行封装,并将封装后的N个JOSN字符串发送给数据接收端设备,本发明实施例中对数据发送端设备与数据接收端设备进行JOSN字符串传输的传输方式做不限定。
S16、数据接收端设备在进行目标数据对象查找时,将所述N个JOSN字符串中的每一个JOSN字符串反序列化为一个数据对象类,获取N个数据对象类。
可选的,可以通过JSON工具将JOSN字符串反序列化为数据对象。
具体的,数据接收端设备将所述N个JOSN字符串中的每一个JOSN字符串反序列化为一个数据对象类,获取的N个数据对象类可以如下所示:
需要说明的是,上述步骤S16中数据接收端设备仅仅将JOSN字符串反序列化为了数据对象类,但并没有反序列化JOSN字符串中的每一个字符互获取全部的数据对象。
S17、数据接收端设备在所述N个数据对象类中确定目标数据对象类。
其中,所述目标数据对象类为对应的数据对象的关键属性的值与所述目标数据对象的关键属性的值相同的数据对象类。
示例性的,目标数据对象如下表7所示:
表7
数据类型 | 所属单位 | 资产类别 | 资产名称 | 资产编号 |
单位资产 | 单位2 | 计算机耗材 | 打印机 | Z20190004 |
则目标数据对象的数据对象类型值为:“单位资产”,目标数据对象的所属单位的值为:“单位2”,而数据对象类中对应的数据对象的数据对象类型值为:“单位资产”和“单位2”的数据对象类为:
因此,将其确定为目标数据对象类。
作为本发明实施例一种可选的实施方式,上述步骤17(在所述N个数据对象类中确定目标数据对象类)包括:
通过语言集成查询(Language Integrated Query,LINQ)技术在所述N个数据对象类中确定所述目标数据对象类。
作为本发明实施例一种可选的实施方式,上述步骤17(在所述N个数据对象类中确定目标数据对象类)包括:
通过Lambda技术在所述N个数据对象类中确定所述目标数据对象类。
例如:若目标数据对象的数据对象类型值为:“单位资产”,目标数据对象的所属单位的值为:“单位2”,则查询Lambda语句可以如下所示:
data.where(d=>d.Department==“单位2”and d=>d.DataType==“单位资产”);
再例如:目标数据对象的所属单位的值为:“单位1”,则查询Lambda语句可以如下所示:
data.where(d=>d.Department==“单位1”);
S18、数据接收端设备在所述目标数据对象类中查找所述目标数据对象。
作为本发明实施例一种可选的实施方式,上述步骤S18(在所述目标数据对象类中查找所述目标数据对象),包括:
将所述目标数据对象类对应的JOSN字符串反序列化为Q个数据对象,Q为正整数;
在所述Q个数据对象中查找所述目标数据对象。
承上实施例所述,目标数据对象类如下所示:
则目标数据对象类对应的JOSN字符串如所示:
{\“Department\”:\“单位2”,\“DataType”:\“单位资产”,\“data”:[]}
将目标数据对象类对应的JOSN字符串转换为Q个数据对象,即为将JOSN字符串{\“Department\”:\“单位2”,\“DataType”:\“单位资产”,\“data”:[]},转换为Q个数据对象,且由上述示例可知,转换得到的Q个数据对象如上表6所示,包括2两数据对象,因此在上表6所示的2个数据对象中查找所述目标数据对象。
本发明实施例提供的数据查找方法中,数据接收端设备获取目标数据对象集合后,先根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类,然后将根据关键属性对目标数据对象集合进行分类获取的N个数据对象类中的每一个数据对象类序列化为一个JOSN字符串,最后向数据接收端设备发送所述N个JOSN字符串;数据接收端设备在进行目标数据对象查找时,先接收到的每一个JOSN字符串反序列化为一个数据对象类,然后在所述N个数据对象类中确定对应的数据对象的关键属性的值与所述目标数据对象的关键属性的值相同的目标数据对象类,最后再在目标数据对象类中查找所述目标数据对象。由于本发明实施例在进行目标数据对象查找时,可以根据数据对象类对应的数据对象的关键属性的值,确定目标数据对象所在的目标数据对象类,因此本发明实施例在进行目标数据对象查找时无需将全部JOSN字符串反序列化为数据对象,仅需要将目标数据对象类对应的JOSN字符串反序列化为数据对象即可,因此本发明实施例可以减少将JOSN字符串反序列化为数据对象时占用的计算资源以及时间长度,因此本发明实施例可以提高数据查找的效率。
本申请实施例可以根据上述方法示例对终端设备等进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成单元的情况下,图2示出了上述实施例中所涉及的数据发送端设备的一种可能的结构示意图,该数据发送端设备200包括:
获取单元21,用于获取目标数据对象集合,所述目标数据对象集合中包括M个数据对象;
分类单元22,用于根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类,获取N个数据对象类;
转换单元23,用于将所述N个数据对象类中的每一个数据对象类序列化为一个JOSN字符串,获取N个JOSN字符串,所述N个JOSN字符串均包含指示信息,任一JOSN字符串的指示信息用于指示该JOSN字符串对应的数据对象的关键属性的值;
发送单元24,用于向数据接收端设备发送所述N个JOSN字符串,以便于数据接收端设备根据所述指示信息进行数据查找;
其中,M、N均为大于1的整数,且M大于N。
作为本发明实施例一种可选的实施方式,所述分类单元22,还用于在根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类之前,根据所述目标数据对象集合中的数据对象的属性提取所述至少一个关键属性;
其中,所述关键属性为所述目标数据对象集合中的数据对象均具有的属性。
作为本发明实施例一种可选的实施方式,所述分类单元22,具体用于将所述目标数据对象集合中各个关键属性的值均相同的数据对象划分为一个数据对象类。
在采用集成单元的情况下,图3示出了上述实施例中所涉及的数据接收员端设备的一种可能的结构示意图,该数据发送端设备300包括:
接收单元31,用于接收并保存数据发送端设备发送的N个JOSN字符串,所述N个JOSN字符串均包含指示信息,任一JOSN字符串的指示信息用于指示该JOSN字符串对应的数据对象的关键属性的值;
转换单元32,用于在进行目标数据对象查找时,将所述N个JOSN字符串中的每一个JOSN字符串反序列化为一个数据对象类,获取N个数据对象类;
查找单元33,用于在所述N个数据对象类中确定目标数据对象类,所述目标数据对象类为对应的数据对象的关键属性的值与所述目标数据对象的关键属性的值相同的数据对象类;
所述查找单元33,还用于在所述目标数据对象类中查找所述目标数据对象。
作为本发明实施例一种可选的实施方式,所述查找单元33,具体用于通过语言集成查询LINQ技术在所述N个数据对象类中确定所述目标数据对象类;或者通过Lambda技术在所述N个数据对象类中确定所述目标数据对象类。
作为本发明实施例一种可选的实施方式,所述查找单元33,具体用于将所述目标数据对象类对应的JOSN字符串反序列化为Q个数据对象,在所述Q个数据对象中查找所述目标数据对象;其中,Q为正整数。
由于本发明实施例提供的数据发送端设备和数据接收端设备可以执行上述方法实施例提供的数据查找方法,因此可以达到的技术效果与上述实施例类似,此处不再赘述。
基于同一发明构思,本发明实施例还提供了一种数据发送端设备。图4为本发明实施例提供的车载设备的系统文件检测装置的结构示意图,如图4所示,该车载设备包括:存储器41和处理器42,存储器41用于存储计算机程序;处理器42用于在调用计算机程序时执行上述任一实施例所述的数据查找方法中数据发送端设备所执行的步骤。
基于同一发明构思,本发明实施例还提供了一种数据接收端设备。图5为本发明实施例提供的车载设备的系统文件检测装置的结构示意图,如图5所示,该车载设备包括:存储器51和处理器52,存储器51用于存储计算机程序;处理器52用于在调用计算机程序时执行上述任一实施例所述的数据查找方法中数据接收端设备所执行的步骤。
由于本发明实施例提供的数据发送端设备和数据接收端设备可以执行上述方法实施例提供的数据查找方法,因此可以达到的技术效果与上述实施例类似,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的数据查找方法。
本领域技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (15)
1.一种数据查找方法,其特征在于,应用于数据发送端设备,所述方法包括:
获取目标数据对象集合,所述目标数据对象集合中包括M个数据对象;
根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类,获取N个数据对象类;
将所述N个数据对象类中的每一个数据对象类序列化为一个JOSN字符串,获取N个JOSN字符串,所述N个JOSN字符串均包含指示信息,任一JOSN字符串的指示信息用于指示该JOSN字符串对应的数据对象的关键属性的值;
向数据接收端设备发送所述N个JOSN字符串,使得数据接收端设备将所述N个JOSN字符串中的每一个JOSN字符串反序列化为一个数据对象类,且在所述N个数据对象类中确定目标数据对象类,以便于数据接收端设备根据所述指示信息进行数据查找;
其中,M、N均为大于1的整数,且M大于N。
2.根据权利要求1所述的方法,其特征在于,在根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类之前,所述方法还包括:
根据所述目标数据对象集合中的数据对象的属性提取所述至少一个关键属性;
其中,所述关键属性为所述目标数据对象集合中的数据对象均具有的属性。
3.根据权利要求1所述的方法,其特征在于,所述根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类,包括:
将所述目标数据对象集合中各个关键属性的值均相同的数据对象划分为一个数据对象类。
4.一种数据查找方法,其特征在于,应用于数据接收端设备,所述方法包括:
接收并保存数据发送端设备发送的N个JOSN字符串,所述N个JOSN字符串均包含指示信息,任一JOSN字符串的指示信息用于指示该JOSN字符串对应的数据对象的关键属性的值;
在进行目标数据对象查找时,将所述N个JOSN字符串中的每一个JOSN字符串反序列化为一个数据对象类,获取N个数据对象类;
在所述N个数据对象类中确定目标数据对象类,所述目标数据对象类为对应的数据对象的关键属性的值与所述目标数据对象的关键属性的值相同的数据对象类;
在所述目标数据对象类中查找所述目标数据对象。
5.根据权利要求4所述的方法,其特征在于,所述在所述N个数据对象类中确定目标数据对象类,包括:
通过语言集成查询LINQ技术在所述N个数据对象类中确定所述目标数据对象类;
或者
通过Lambda技术在所述N个数据对象类中确定所述目标数据对象类。
6.根据权利要求4所述的方法,其特征在于,所述在所述目标数据对象类中查找所述目标数据对象,包括:
将所述目标数据对象类对应的JOSN字符串反序列化为Q个数据对象,Q为正整数;
在所述Q个数据对象中查找所述目标数据对象。
7.一种数据发送端设备,其特征在于,包括:
获取单元,用于获取目标数据对象集合,所述目标数据对象集合中包括M个数据对象;
分类单元,用于根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类,获取N个数据对象类;
转换单元,用于将所述N个数据对象类中的每一个数据对象类序列化为一个JOSN字符串,获取N个JOSN字符串,所述N个JOSN字符串均包含指示信息,任一JOSN字符串的指示信息用于指示该JOSN字符串对应的数据对象的关键属性的值;
发送单元,用于向数据接收端设备发送所述N个JOSN字符串,使得数据接收端设备将所述N个JOSN字符串中的每一个JOSN字符串反序列化为一个数据对象类,且在所述N个数据对象类中确定目标数据对象类,以便于数据接收端设备根据所述指示信息进行数据查找;
其中,M、N均为大于1的整数,且M大于N。
8.根据权利要求7所述的数据发送端设备,其特征在于,所述分类单元,还用于在根据至少一个关键属性对所述目标数据对象集合中的数据对象进行分类之前,根据所述目标数据对象集合中的数据对象的属性提取所述至少一个关键属性;
其中,所述关键属性为所述目标数据对象集合中的数据对象均具有的属性。
9.根据权利要求7所述的数据发送端设备,其特征在于,所述分类单元,具体用于将所述目标数据对象集合中各个关键属性的值均相同的数据对象划分为一个数据对象类。
10.一种接收端设备,其特征在于,包括:
接收单元,用于接收并保存数据发送端设备发送的N个JOSN字符串,所述N个JOSN字符串均包含指示信息,任一JOSN字符串的指示信息用于指示该JOSN字符串对应的数据对象的关键属性的值;
转换单元,用于在进行目标数据对象查找时,将所述N个JOSN字符串中的每一个JOSN字符串反序列化为一个数据对象类,获取N个数据对象类;
查找单元,用于在所述N个数据对象类中确定目标数据对象类,所述目标数据对象类为对应的数据对象的关键属性的值与所述目标数据对象的关键属性的值相同的数据对象类;
所述查找单元,还用于在所述目标数据对象类中查找所述目标数据对象。
11.根据权利要求10所述的接收端设备,其特征在于,所述查找单元,具体用于通过语言集成查询LINQ技术在所述N个数据对象类中确定所述目标数据对象类;或者通过Lambda技术在所述N个数据对象类中确定所述目标数据对象类。
12.根据权利要求10所述的接收端设备,其特征在于,所述查找单元,具体用于将所述目标数据对象类对应的JOSN字符串反序列化为Q个数据对象,在所述Q个数据对象中查找所述目标数据对象;其中,Q为正整数。
13.一种数据发送端设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行权利要求1-3任一项所述的数据查找方法。
14.一种数据接收端设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行权利要求4-6任一项所述的数据查找方法。
15.一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现权利要求1-6任一项所述的数据查找方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911279523.3A CN112989139B (zh) | 2019-12-13 | 2019-12-13 | 一种数据查找方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911279523.3A CN112989139B (zh) | 2019-12-13 | 2019-12-13 | 一种数据查找方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112989139A CN112989139A (zh) | 2021-06-18 |
CN112989139B true CN112989139B (zh) | 2023-10-27 |
Family
ID=76332242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911279523.3A Active CN112989139B (zh) | 2019-12-13 | 2019-12-13 | 一种数据查找方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112989139B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970855A (zh) * | 2014-05-06 | 2014-08-06 | 车智互联(北京)科技有限公司 | 一种数据处理设备和方法 |
CN104883292A (zh) * | 2015-04-16 | 2015-09-02 | 江苏中威科技软件系统有限公司 | 实现消息在不同终端漫游的方法及系统 |
EP2950246A1 (en) * | 2014-05-30 | 2015-12-02 | Amadeus S.A.S. | Content exchange method and system |
CN109491727A (zh) * | 2018-10-16 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 对象序列化方法、终端设备及计算机可读存储介质 |
CN109639465A (zh) * | 2018-11-27 | 2019-04-16 | 平安科技(深圳)有限公司 | 基于云平台的告警信息存储方法和装置 |
CN110275789A (zh) * | 2019-06-24 | 2019-09-24 | 恒生电子股份有限公司 | 数据处理方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130117326A1 (en) * | 2011-11-08 | 2013-05-09 | Microsoft Corporation | External serialization and deserialization |
US9378237B2 (en) * | 2014-04-15 | 2016-06-28 | Google Inc. | Methods for in-place access of serialized data |
US10467321B2 (en) * | 2017-09-07 | 2019-11-05 | Mastercard International Incorporated | Systems and methods for dynamic C# serialization |
US10831831B2 (en) * | 2018-03-29 | 2020-11-10 | Oracle International Corporation | Hierarchical metadata model querying system |
-
2019
- 2019-12-13 CN CN201911279523.3A patent/CN112989139B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970855A (zh) * | 2014-05-06 | 2014-08-06 | 车智互联(北京)科技有限公司 | 一种数据处理设备和方法 |
EP2950246A1 (en) * | 2014-05-30 | 2015-12-02 | Amadeus S.A.S. | Content exchange method and system |
CN104883292A (zh) * | 2015-04-16 | 2015-09-02 | 江苏中威科技软件系统有限公司 | 实现消息在不同终端漫游的方法及系统 |
CN109491727A (zh) * | 2018-10-16 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 对象序列化方法、终端设备及计算机可读存储介质 |
CN109639465A (zh) * | 2018-11-27 | 2019-04-16 | 平安科技(深圳)有限公司 | 基于云平台的告警信息存储方法和装置 |
CN110275789A (zh) * | 2019-06-24 | 2019-09-24 | 恒生电子股份有限公司 | 数据处理方法及装置 |
Non-Patent Citations (3)
Title |
---|
JavaScript Object Notation (JSON) data serialization for IFC schema in web-based BIM data exchange;Afsari Kereshmeh等;《AUTOMATION IN CONSTRUCTION》;第第77卷卷;第24-51页 * |
基于数据序列化与字符串压缩的移动数据传输优化方案研究与实现;曹洲;《中国优秀硕士学位论文全文数据库信息科技辑》;I138-175 * |
数据交换技术及其Web应用研究;涂海龙;《中国优秀硕士学位论文全文数据库信息科技辑》;I138-457 * |
Also Published As
Publication number | Publication date |
---|---|
CN112989139A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885691B (zh) | 知识图谱补全方法、装置、计算机设备及存储介质 | |
US10599709B2 (en) | Object recognition device, object recognition method, and program for recognizing an object in an image based on tag information | |
CN109460551B (zh) | 签名信息提取方法及装置 | |
US11651014B2 (en) | Source code retrieval | |
CN101464903A (zh) | 一种利用web方式进行OCR图文识别检索方法和系统 | |
CN111309863A (zh) | 基于知识图谱的自然语言问答方法及装置 | |
CN116501898B (zh) | 适用于少样本和有偏数据的金融文本事件抽取方法和装置 | |
CN110008306A (zh) | 一种数据关系分析方法、装置及数据服务系统 | |
CN110554878A (zh) | 数据转换方法、游戏数据的处理方法、装置和服务器 | |
CN113495984A (zh) | 一种语句检索方法以及相关装置 | |
US20090164430A1 (en) | System and method for acquiring contact information | |
CN112989139B (zh) | 一种数据查找方法及装置 | |
CN117971873A (zh) | 一种生成结构化查询语言sql的方法、装置及电子设备 | |
CN110738048B (zh) | 一种关键词提取方法、装置及终端设备 | |
CN112579676B (zh) | 异构系统间的数据处理方法、装置、存储介质和设备 | |
CN105512270B (zh) | 一种确定相关对象的方法和装置 | |
CN111177506A (zh) | 一种基于大数据的分类存储方法及系统 | |
CN113220949B (zh) | 一种隐私数据识别系统的构建方法及装置 | |
CN111324732B (zh) | 模型训练方法、文本处理方法、装置及电子设备 | |
CN116414996A (zh) | 基于知识图谱的问题查询方法、装置及电子设备 | |
CN113468258A (zh) | 一种异构数据的转换方法、装置及存储介质 | |
CN112148782A (zh) | 市场数据接入方法及装置 | |
CN111930938A (zh) | 文本分类方法、装置、电子设备及存储介质 | |
CN112559674A (zh) | 裁判文书中法条内容的查询方法及相关装置 | |
CN111191473B (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 |