一种信息处理方法、装置、系统、电子设备及存储介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种信息处理方法、装置、系统、电子设备及存储介质。
背景技术
随着网购的兴起,经常出现高并发请求的环境,例如:电商网站的购物狂欢节,优惠活动等。在实现本发明过程中,发明人发现面对高并发的请求时,系统从磁盘或缓存查取次数陡升,受磁盘性能和链接数限制,数据库或缓存承受的压力巨大,容易造成系统响应过慢甚至崩溃,例如在一秒中内有上千万不同用户的访问,数据库同样会在一秒中内接收千万次查询请求,因数据库链接数限制,数据库需排队处理,从而导致响应速度变慢,或因某个查询请求需要载入的数据过多,导致网络拥堵进而导致系统崩溃。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请实施例提供了一种信息处理方法、装置、系统、电子设备及存储介质。
第一方面,本申请实施例提供了一种信息处理方法,该方法包括以下步骤:
接收查询请求,所述查询请求中包括至少一个目标特征信息;
通过所述目标特征信息确定目标标识索引;
根据所述目标标识索引从内存中查询所述目标特征信息对应的目标业务数据;
将所述目标业务数据发送给所述查询请求对应的终端。
在一个可能的实施方式中,所述通过所述目标特征信息确定目标标识索引,包括:
根据预设转换规则将所述目标特征信息转换为与存储格式相匹配的目标标识索引。
在一个可能的实施方式中,所述方法还包括:
从数据库获取业务数据集合及所述业务数据集合对应的链表长度,所述数据库中包括:业务数据集合和链表,所述链表包括业务数据集合中业务数据对应的业务编号,所述链表长度用于表示所述链表中业务编号的数量;
将所述业务数据集合及所述链表长度存储于所述内存。
在一个可能的实施方式中,所述方法还包括:周期性查询所述数据库中业务数据集合对应的第一链表长度;
当所述第一链表长度与所述内存储存的第二链表长度不同时,从所述链表中获取待更新业务编号;
从所述业务数据集合中获取所述待更新业务编号对应的待更新业务数据;
将所述待更新业务数据存储于所述内存中,并用所述第一链表长度替换所述第二链表长度。
在一个可能的实施方式中,所述将所述业务数据集合存储于所述内存,包括:
提取所述业务集合中业务数据的特征信息;
根据预设转换规则将所述特征信息转换为与存储格式相匹配的标识索引;
获取所述标识索引对应业务数据的业务编号;
将所述标识索引及其对应的所述业务编号作为第一层键值对存储于所述内存,将所述业务编号及其对应的业务数据作为第二层键值对存储于所述内存。
在一个可能的实施方式中,基于所述目标标识索引从内存中查询所述目标特征信息对应的目标业务数据,包括:
基于所述第一层键值对查询所述目标标识索引对应的目标业务编号;
基于所述第二层键值对查询所述目标业务编号对应的目标业务数据。
在一个可能的实施方式中,所述方法还包括:
确定待调用的目标服务接口;
查询调用所述目标服务接口所要获取的目标业务数据集;
将所述目标业务数据集发送至所述目标服务接口。
第二方面,本申请提供了一种信息处理装置,该装置包括:
获取模块,用于接收查询请求,所述查询请求中包括至少一个目标特征信息;
确定模块,用于通过所述目标特征信息确定目标标识索引;
查询模块,用于根据所述目标标识索引从内存中查询与所述目标特征信息对应的目标业务数据;
发送模块,用于将所述目标业务数据发送给所述查询请求对应的终端。
第三方面,本申请提供了一种信息处理系统,所述系统包括:终端和查询服务器;
所述终端,用于向所述查询服务器发送查询请求,所述查询请求中包括至少一个目标特征信息;
所述查询服务器,用于根据所述目标特征信息确定目标标识索引,基于所述目标标识索引从所述查询服务器的内存中匹配与所述目标特征信息对应的目标业务数据,并将所述目标业务数据返回给所述终端。
在一个可能的实施方式中,所述系统还包括:数据库;
所述数据库,用于存储业务数据集合和链表,所述链表包括业务数据集合中业务数据对应的业务编号;
所述查询服务器,用于从数据库获取业务数据集合及所述业务数据集合对应的链表长度,所述链表长度表示所述链表中业务编号的数量;将所述业务数据集合及所述链表长度存储于所述内存。
第四方面,本申请提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行计算机程序时,实现上述方法步骤。
第五方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:通过根据查询请求中特征信息得到标识索引,通过标识索引可以快速的从内存中查询对应的目标数据业务,通过此查询方式不需要直接从数据库中查询业务数据,减少了查询请求的载入数据,同时还可以减少了响应时间,提高了查询效率。另外,通过以键值对的方式将业务数据和业务编号存储在内存中,扩展性强只需存放一份数据,减少了内存空间。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种信息处理系统的示意图;
图2为本申请实施例提供的数据库中数据存放的结构示意图;
图3为本申请实施例提供的一种信息处理方法的流程图;
图4为本申请实施例提供的特征信息与标识的预设对应关系图;
图5为本申请另一实施例提供的一种信息处理方法的流程图;
图6为本申请实施例提供的业务数据存储在内存中的结构示意图;
图7为本申请另一实施例提供的一种信息处理方法的流程图;
图8为本申请实施例提供的一种信息处理装置的框图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。
本申请提供了一种信息处理方法、装置、系统、电子设备及存储介质。能够降低数据库的压力,避免系统发生响应过慢甚至崩溃。下面首先对本发明实施例所提供的一种信息处理方法进行介绍。
图1为本申请实施例提供的这一种信息处理系统的示意图,如图1所示,该系统包括:数据库101、查询服务器102和终端103。
首先通过用户创建业务之后,所创建的业务数据被存储在数据库101中,数据库101获取业务数据对应的业务编号,并将业务数据和业务编号关联存储。
查询服务器102从数据库101获取所有的业务数据,并存储在查询服务器102的内存中。
终端103发送查询请求到查询服务器102时,查询服务器102基于该查询请求,在自身的内存中查询相应的业务数据,并返回给终端103。
本实施例提供的一种信息处理系统的具体工作流程如下:
终端103,用于向查询服务器102发送查询请求,查询请求中包括至少一个目标特征信息;
查询服务器102,用于根据目标特征信息确定目标标识索引,基于目标标识索引述查询服务器102的内存中匹配与目标特征信息对应的目标业务数据,并将目标业务数据返回给所述终端103。
该系统还包括:数据库101;
数据库101,用于存储业务数据集合和链表,链表包括业务数据集合中业务数据对应的业务编号;
查询服务器102,用于从数据库101获取业务数据集合及业务数据集合对应的链表长度,链表长度表示链表中业务编号的数量;将业务数据集合及链表长度存储于内存。
图2是数据库中数据存放的结构示意图,如图2所示,数据库中主要存放的数据有两部分:业务数据集合1021和业务编号1022。业务数据集合这部分以键值对的形式存放,业务编号为键,业务数据为值;业务编号以链表的形式存放,链表中每一节点存放一个业务编号。例如,存放关于手机的业务数据,其业务编号为“业务编号1”,关于此手机的业务数据为“安卓手机,价格2000元”,其中,业务编号1为业务数据集合1021的键,“安卓手机,价格2000元”为业务数据集合1021的值,即key:“业务编号1”,value:“安卓手机,价格2000元”,业务编号1022的中存放的值为“业务编号1”。
图3为本申请实施例提供的一种信息处理方法的流程图,应用于查询服务系统侧,如图3所示,该方法包括以下步骤:
步骤S31,接收查询请求,查询请求中包括至少一个目标特征信息。
步骤S32,通过目标特征信息确定目标标识索引。
步骤S33,根据目标标识索引从内存中查询目标特征信息对应的目标业务数据。
步骤S34,将目标业务数据发送给查询请求对应的终端。
通过根据查询请求中特征信息得到标识索引,通过标识索引可以快速的从内存中查询对应的目标数据业务,通过此查询方式不在需要直接从数据库中查询业务数据,同时还可以减少了响应时间,提高了查询效率。
本实施例中,查询服务系统接收到查询请求后,对查询请求进行解析,获取查询请求中携带的至少一个目标特征信息,比如:目标特征信息为:特征一:手机,特征二Android系统,以及特征三:5000-6000,通过预设转换规则将上述三个目标特征信息转换为与存储格式相匹配的目标标识索引,其中预设存储规则可以是根据业务特征信息的数量确定目标标识索引的数据长度,之后再根据每一个目标特征信息确定数据长度中各个位置对应的标识。
本实施例中采用预设的业务与标识对应关系图,确定目标标识索引的3个位置中各个位置对应的标识,图4为本申请实施例提供的预设对应关系图,如图4所示,首位可以根据特征信息中的业务类别确定标识,从预设关系图中查询手机对应的标识为1,之后第二位在手机类的子节点中查询Android系统对应的标识为2,第三位在系统类的子节点中查询5000-6000对应的标识为3。
根据以上方式得到目标标识索引为123,根据目标标识索引123从内存中查询与目标特征信息对应的目标业务数据,将属于目标标识索引123下的业务数据,发送给查询请求对应的终端。
下面本实施例具体说明查询服务系统从数据库中获取业务数据的实现方式,图5为本申请另一实施例提供的一种信息处理方法的流程图,如图5所示,该方法还包括以下步骤:
步骤S51,接收查询请求,查询请求中包括至少一个目标特征信息。
步骤S52,通过目标特征信息确定目标标识索引。
步骤S53,从数据库获取业务数据集合以及业务数据集合对应的链表长度,数据库中包括业务数据集合和链表,其中,链表包括业务数据集合中业务数据对应的业务编号,链表长度用于表示所述链表中业务编号的数量。
步骤S54,将业务数据集合以及链表长度存储于内存。
步骤S55,根据目标标识索引从内存中查询目标特征信息对应的目标业务数据。
步骤S56,将目标业务数据发送给查询请求对应的终端。
本实施例中,为了减少请求数据库次数,查询服务系统需要将数据库中的业务数据集合存储到内存中,此外数据库中还包括链表,链表包括业务数据集合中业务数据对应的业务编号,当查询服务系统的内存从数据库中获取业务数据集合时,还需要记录业务数据集合对应的链表长度,便于后续根据链表长度获取数据库中新增的业务数据,其中,链表长度用于表示链表中业务编号的数量,例如:业务数据集合中包括10个业务编号以及每个业务编号对应的业务数据,此时的链表长度为10。之后将所述业务数据集合及所述链表长度存储于所述内存。
每当数据库中有新增的业务数据时,数据库中链表中的业务编号会自动更新,此时数据库中的链表长度会增加,所以查询服务系统的内存需要周期性查询数据库中业务数据集合对应的第一链表长度,当第一链表长度大于内存当前存储的第二链表长度时,从链表中获取待更新业务编号。或,当第一链表长度等于内存当前存储的第二链表长度时,则结束本次任务,等待下次查询。
例如:数据库中链表的第一链表长度为M,内存中存储的第二链表长度N,其中,M为大于等于N的正整数,在获取待更新业务编号时,在链表中以链表长度为N+1对应的节点为起点获取待更新业务编号,即获取的业务编号的集合为:N+1—M。假设:第一链表长度为10位,第二链表长度为5位,在获取待更新业务编号时,从第一链表中的第6位获取待更新的业务编号,则获取的业务编号集合为第一链表中的6-10位。
因为业务数据集合以键值对的形式存储,其中键(key)为业务编号,值(value)为业务数据,所以可以根据待更新业务编号从业务数据集合中匹配相应的待更新业务数据,之后将匹配得到的待更新业务数据存储到查询服务系统的内存中。
在对业务数据进行存储时,需要将业务数据分层次存放在内存中,图6为业务数据存储在内存中的结构示意图,如图6所示,存储结构分为两层键值对,首先提取业务集合中业务数据的特征信息,特征信息可以是手机系统,品牌,价格以及型号等,根据预设转换规则将所述特征信息转换为与存储格式相匹配的标识索引。
例如:根据特征信息确定标识索引的数据长度,之后再确定每一位对应的标识,可参考图4,从预设关系图中查询手机类对应的标识为1,之后第二位在手机类的子节点中查询IOS系统对应的标识为1,第三位在系统类的子节点中查询8000-10000对应的标识为4,得到的标识索引即为114。
之后获取属于标识索引对应业务数据的业务编号,存储方式如下:第一层键值对200以标识索引作为键(key)以及该标识索引对应的业务编号作为值(value)存储于内存,第二层键值对201以业务编号作为键(Key),以及该业务编号对应的业务数据作为值(value)存储于内存。此种方式可以减少数据对内存的占用,提高查询速度,增加可扩展性。当存储完成后,用第一链表长度替换内存中记录的第二链表长度。
通过上述存储方式的优点在于扩展性强,只需存放一份数据即可,同时还减少了内存空间,比如:属于标识索引为100的业务数据集合中包括:业务B1:业务B2和业务C1,属于标识索引为101的业务数据集合中包括,业务C1,业务C2和业务C3,由于业务C1同时存在于两个业务数据集合中,所以在第二层键值对中只保存一份业务C1的业务数据。
通过目标标识索引从内存中查询对应的目标业务数据具体为:根据得到的目标标识索引去第一层键值对中查询属于目标标识索引的目标业务编号集合,之后从第二层键值对中查询目标业务编号集合中每一个业务编号对应的目标业务数据,最后将得到的目标业务数据发送给查询请求对应的终端。
图7为本申请另一实施例提供的一种信息处理方法的流程图,如图7所示,该方法还包括以下步骤:
步骤S75:确定待调用的目标服务接口;
步骤S76:查询调用目标服务接口所要获取的目标业务数据集;
步骤S77:将目标业务数据集发送至目标服务接口。
本实施例中,对于需要调用下游服务接口的目标业务数据进行统计,整合调用下游服务接口的调用次数,例如:有多个商品需要调用下游的服务接口获取是否参加了促销活动,可以将这些商品的信息整合成一个集合,一次性发给下游服务接口获取返回信息,而不用一个商品请求一次,这样减少了下游系统的压力,同时也提高了自身系统的性能。因为整合过程都是在内存中完成,所以提高了处理效率。
图8为本申请实施例提供的一种信息处理装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
如图8所示,该装置包括:
获取模块801,用于根据接收的查询请求获取待查询业务的至少一个目标特性信息;
确定模块802,用于通过目标特征信息确定目标标识索引;
查询模块803,用于根据目标标识索引从内存中查询与目标特征信息对应的目标业务数据;
发送模块804,用于将目标业务数据发送给查询请求对应的终端。
本申请实施例还提供一种电子设备,如图9所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现以上步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,P C I)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收查询请求,查询请求中包括至少一个目标特征信息;
通过目标特征信息确定目标标识索引;
根据目标标识索引从内存中查询目标特征信息对应的目标业务数据;
将目标业务数据发送给查询请求对应的终端。
可选的,该计算机程序被处理器执行时还实现以下步骤:
通过目标特征信息确定目标标识索引,包括:
根据预设转换规则将特征信息转换为与存储格式相匹配的目标标识索引。
可选的,该计算机程序被处理器执行时还实现以下步骤:
从数据库获取业务数据集合及所述业务数据集合对应的链表长度,数据库中包括:业务数据集合和链表,链表包括业务数据集合中业务数据对应的业务编号,链表长度用于表示链表中业务编号的数量;
将业务数据集合及链表长度存储于所述内存。
可选的,该计算机程序被处理器执行时还实现以下步骤:
周期性查询数据库中业务数据集合对应的第一链表长度;
当第一链表长度与内存储存的第二链表长度不同时,从链表中获取待更新业务编号;
从业务数据集合中获取待更新业务编号对应的待更新业务数据;
将待更新业务数据存储于所述内存中,并用第一链表长度替换所述第二链表长度。
可选的,该计算机程序被处理器执行时还实现以下步骤:
将业务数据集合存储于所述内存,包括:
提取业务集合中业务数据的特征信息;
根据预设转换规则将特征信息转换为与存储格式相匹配的标识索引;
获取标识索引对应业务数据的业务编号;
将标识索引及其对应的业务编号作为第一层键值对存储于内存,将业务编号及其对应的业务数据作为第二层键值对存储于内存。
可选的,该计算机程序被处理器执行时还实现以下步骤:
基于目标标识索引从内存中查询所述目标特征信息对应的目标业务数据,包括:
基于第一层键值对查询目标标识索引对应的目标业务编号;
基于第二层键值对查询目标业务编号对应的目标业务数据。
可选的,该计算机程序被处理器执行时还实现以下步骤:
确定待调用的目标服务接口;
查询调用目标服务接口所要获取的目标业务数据集;
将目标业务数据集发送至目标服务接口。
需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
进一步需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。