CN104050284A - 一种基于单进程的数据异步查询方法及*** - Google Patents

一种基于单进程的数据异步查询方法及*** Download PDF

Info

Publication number
CN104050284A
CN104050284A CN201410301906.7A CN201410301906A CN104050284A CN 104050284 A CN104050284 A CN 104050284A CN 201410301906 A CN201410301906 A CN 201410301906A CN 104050284 A CN104050284 A CN 104050284A
Authority
CN
China
Prior art keywords
file description
file
request
array
module
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.)
Granted
Application number
CN201410301906.7A
Other languages
English (en)
Other versions
CN104050284B (zh
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.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information 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 Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201410301906.7A priority Critical patent/CN104050284B/zh
Publication of CN104050284A publication Critical patent/CN104050284A/zh
Application granted granted Critical
Publication of CN104050284B publication Critical patent/CN104050284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24549Run-time optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种单进程的数据异步查询方法及***,建立长连接的服务端,在服务端监听每个客户端发送过来的请求,定义一个文件描述集合用于存储文件描述,定义一个数组用于存储文件描述集合ID和编号,将客户端发送的请求抽象为一个文件描述,放入文件描述集合中,判断是否有新的请求,如果有则将新请求的ID加入数组,否则直接处理数组,每处理完一个请求后,将信息返回给客户端,然后在服务端的数组中将这个请求ID和对应编号删除;本发明通过文件描述集合的方法,将请求的ID放入数组中,程序内部只需处理这个数组,这样就避免通讯程序空闲等待,极大提高通讯程序的查询效率;充分利用端口资源,大幅提高查询效率,减小了***资源的耗费。

Description

一种基于单进程的数据异步查询方法及***
技术领域
本发明涉及电信领域,尤其涉及一种基于单进程的数据异步查询方法及***。
背景技术
BOSS***中存在多种查询方式:文件方式,内存方式,数据库方式,不同查询在响应速度上有不同的要求。
电信未出账话费查询,要求查询结果在很短的时间内返回给客户端,否则造成客户端积压,会造成难以估计后果,然而现有的任务处理方法,是客户端每发起一个请求,服务端就新建一个子进程处理这笔请求,这就造成了主机有过多的进程,还有很多僵死的进程无法处理,造成主机设备压力较大。
因此,需要研发一种新的查询方式及***,能在消耗尽量少的***资源的情况下,迅速响应客户端的查询请求。
发明内容
本发明所要解决的技术问题是提供一种在尽量少的消耗***资源的情况下,迅速响应客户端请求的查询方法。
本发明解决上述技术问题的技术方案如下:一种基于单进程的异步查询方法,包括如下步骤:
步骤1:建立长连接的服务端,并在服务端内建立一个文件描述集合及存储文件描述集合ID和其编号的数组;
步骤2:服务端实时监听客户端请求,每收到一条请求将请求抽象成一个文件描述;
步骤3:判断文件描述集合是否为空,如果是则直接执行步骤4,否则清空文件描述集合,执行步骤4;
步骤4:将文件描述放入文件描述集合中,并将此时文件描述集合对应的ID及其编号存入数组中;
步骤5:根据数组中文件描述集合ID的最大值,判断文件描述集合的描述是否发生变化,如果发生变化,执行步骤6;否则直接执行步骤7;
步骤6:检测文件描述是否加入了文件描述集合,如果加入了则将文件集合的ID和编号加入数组中,执行步骤7;否则直接执行步骤7;
步骤7:用一个FOR循环处理存储模块,利用查询函数取得查询结果,将查询结果返回给客户端;
步骤8:将数组中对应的文件描述集合ID和编号删除。
本发明的有益效果是:实现单进程异步查询,避免通讯程序空闲等待,极大提高了未出账话费查询的效率;大幅提高查询效率,减小了***资源的耗费。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述用于存储文件描述集合对应ID和编号的数组可采用链表替换。
进一步,所述查询请求包括客户端ID和查询内容信息。
本发明解决上述技术问题的另一技术方案如下:一种基于单进程的数据异步查询***,包括若干个客户端和一个服务端,所述服务端包括请求接收模块、文件描述集合、存储模块、请求处理模块、结果反馈模块和数据删除模块;
所述请求接收模块,其用于接收各个客户端发送的查询请求,并将查询请求抽象为文件描述发送给文件描述集合;
所述文件描述集合,其用于存储请求接收模块发送的查询请求的文件描述;
所述存储模块,其用于存储文件描述集合对应的ID和编号;
所述请求处理模块,其用于循环处理存储模块,调用查询函数取得查询结果,将查询出结果反馈给结果返回模块;
所述结果返回模块,其用于将请求处理模块发送的处理结果反馈给相应客户端;
所述数据删除模块,其用于将存储模块中已处理完的文件描述集合ID和编号删除。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述存储模块可采用数组或链表。
进一步,所述查询请求包括客户端ID和查询内容信息。
附图说明
图1为本发明所述一种单进程的数据异步查询方法流程图;
图2为本发明所述一种单进程的数据异步查询***框图。
附图中,各标号所代表的部件列表如下:
100、客户端,200、服务端,201请求接收模块,202、文件描述集合,203、存储模块,204、请求处理模块,205、结果反馈模块,206、数据删除模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,一种基于单进程的数据异步查询方法,包括如下步骤:
步骤1:建立长连接的服务端,并在服务端内建立一个文件描述集合及存储文件描述集合ID和其编号的数组;
步骤2:服务端实时监听客户端请求,每收到一条请求将请求抽象成一个文件描述;
步骤3:判断文件描述集合是否为空,如果是则直接执行步骤4,否则清空文件描述集合,执行步骤4;
步骤4:将文件描述放入文件描述集合中,并将此时文件描述集合对应的ID及其编号存入数组中;
步骤5:根据数组中文件描述集合ID的最大值,判断文件描述集合的描述是否发生变化,如果发生变化,执行步骤6;否则直接执行步骤7;
步骤6:检测文件描述是否加入了文件描述集合,如果加入了则将文件集合的ID和编号加入数组中,执行步骤7;否则直接执行步骤7;
步骤7:用一个FOR循环处理存储模块,利用查询函数取得查询结果,将查询结果返回给客户端;
步骤8:将数组中对应的文件描述集合ID和编号删除。
其中,所述用于存储文件描述集合对应ID和编号的数组可采用链表替换。
其中,所述查询请求包括客户端ID和查询内容信息。
如图2所示,一种基于单进程的数据异步查询***,包括若干个客户端100和一个服务端200,所述服务端包括请求接收模块201、文件描述集合202、存储模块203、请求处理模块204、结果反馈模块205和数据删除模块206;
所述请求接收模块201,其用于接收各个客户端发送的查询请求,并将查询请求抽象为一个文件描述发送给文件描述集合202;
所述文件描述集合202,其用于存储请求接收模块201发送的文件描述;
所述存储模块203,其用于存储文件描述集合对应ID和编号;
所述请求处理模块204,循环处理存储模块203,调用处理函数并将处理结果发送给结果反馈模块204;
所述结果返回模块205,其用于将请求处理模块204发送的处理结果反馈给相应客户端;
所述数据删除模块206,其用于将存储模块中已经处理的文件描述集合对应的ID和编号删除。
其中,所述存储模块203可采用数组或链表。
其中,所述查询请求包括客户端ID和查询内容信息。
本发明涉及一种单进程的异步查询方法,包括建立一个长连接的服务端,在服务端内部监听每个客户端发送过来的请求,定义一个文件描述集合用于存储文件描述,定义一个数组用于存储文件描述集合ID和对应ID的编号,将客户端发送过来请求的ID当成一个文件描述,放入文件描述集合中。判断是否有新的请求,如果有将新请求的ID加入数组,否则,循环处理存储模块,每处理完一个请求后,将信息返回给客户端然后在服务端的数组中将这个请求ID和对应编号删除。现有查询***是客户端每发起一个请求,服务端就建立一个子进程处理这笔请求,这就造成了主机有过多的进程,还有很多僵死的进程无法处理,造成主机设备压力较大。本发明可以通过文件描述集合的方法,将请求的ID放入数组中,程序内部只需处理这个数组,这样就避免通讯程序空闲等待,极大提高通讯程序的查询效率;充分利用端口资源。大幅提高查询效率,减小了***资源的耗费。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于单进程的数据异步查询方法,其特征在于,包括如下步骤:
步骤1:建立长连接的服务端,并在服务端内建立一个文件描述集合及存储文件描述集合ID和其编号的数组;
步骤2:服务端实时监听客户端请求,每收到一条请求将请求抽象成一个文件描述;
步骤3:判断文件描述集合是否为空,如果是则直接执行步骤4,否则清空文件描述集合,执行步骤4;
步骤4:将文件描述放入文件描述集合中,并将此时文件描述集合对应的ID及其编号存入数组中;
步骤5:根据数组中文件描述集合ID的最大值,判断文件描述集合的描述是否发生变化,如果发生变化,执行步骤6;否则直接执行步骤7;
步骤6:检测文件描述是否加入了文件描述集合,如果加入了则将文件集合的ID和编号加入数组中,执行步骤7;否则直接执行步骤7;
步骤7:用一个FOR循环处理存储模块,利用查询函数取得查询结果,将查询结果返回给客户端;
步骤8:将数组中对应的文件描述集合ID和编号删除。
2.根据权利要求1所述一种基于单进程的数据异步查询方法,其特征在于,所述用于存储文件描述集合对应ID和编号的数组可采用链表替换。
3.根据权利要求1所述一种基于单进程的数据异步查询方法,其特征在于,所述查询请求包括客户端ID和查询内容信息。
4.一种基于单进程的数据异步查询***,其特征在于,包括若干个客户端和一个服务端,所述服务端包括请求接收模块、文件描述集合、存储模块、请求处理模块、结果反馈模块和数据删除模块;
所述请求接收模块,其用于接收各个客户端发送的查询请求,并将查询请求抽象为文件描述发送给文件描述集合;
所述文件描述集合,其用于存储请求接收模块发送的查询请求的文件描述;
所述存储模块,其用于存储文件描述集合对应的ID和编号;
所述请求处理模块,其用于循环处理存储模块,调用查询函数取得查询结果,将查询出结果反馈给结果返回模块;
所述结果返回模块,其用于将请求处理模块发送的处理结果反馈给相应客户端;
所述数据删除模块,其用于将存储模块中已处理完的文件描述集合ID和编号删除。
5.根据权利要求4所述一种基于单进程的数据异步查询***,其特征在于,所述存储模块可采用数组或链表。
6.根据权利要求4所述一种基于单进程的数据异步查询***,其特征在于,所述查询请求包括客户端ID和查询内容信息。
CN201410301906.7A 2014-06-27 2014-06-27 一种基于单进程的数据异步查询方法及*** Active CN104050284B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410301906.7A CN104050284B (zh) 2014-06-27 2014-06-27 一种基于单进程的数据异步查询方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410301906.7A CN104050284B (zh) 2014-06-27 2014-06-27 一种基于单进程的数据异步查询方法及***

Publications (2)

Publication Number Publication Date
CN104050284A true CN104050284A (zh) 2014-09-17
CN104050284B CN104050284B (zh) 2017-11-10

Family

ID=51503116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410301906.7A Active CN104050284B (zh) 2014-06-27 2014-06-27 一种基于单进程的数据异步查询方法及***

Country Status (1)

Country Link
CN (1) CN104050284B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105391776A (zh) * 2015-10-20 2016-03-09 上海斐讯数据通信技术有限公司 长连接消息的通信方法及***
CN106933850A (zh) * 2015-12-29 2017-07-07 阿里巴巴集团控股有限公司 网络数据查询方法、装置和***
CN112416322A (zh) * 2020-11-20 2021-02-26 城云科技(中国)有限公司 一种根据自循环函数获取数据集中前一个数据的实现方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1217538A1 (en) * 2000-12-22 2002-06-26 Sun Microsystems, Inc. Client capability detection in a client and server system
EP2259548A2 (en) * 2005-05-25 2010-12-08 Microsoft Corporation Data communication coordination with sequence numbers
CN102222071A (zh) * 2010-04-16 2011-10-19 华为技术有限公司 数据同步处理方法、设备及***
CN103051724A (zh) * 2012-12-28 2013-04-17 北京思特奇信息技术股份有限公司 一种基于长连接的套接字同步方法
CN103064960A (zh) * 2012-12-31 2013-04-24 华为技术有限公司 数据库查询方法及设备
CN103442029A (zh) * 2013-07-29 2013-12-11 广东电网公司电力科学研究院 异构实时历史数据库同步方法和***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1217538A1 (en) * 2000-12-22 2002-06-26 Sun Microsystems, Inc. Client capability detection in a client and server system
EP2259548A2 (en) * 2005-05-25 2010-12-08 Microsoft Corporation Data communication coordination with sequence numbers
CN102222071A (zh) * 2010-04-16 2011-10-19 华为技术有限公司 数据同步处理方法、设备及***
CN103051724A (zh) * 2012-12-28 2013-04-17 北京思特奇信息技术股份有限公司 一种基于长连接的套接字同步方法
CN103064960A (zh) * 2012-12-31 2013-04-24 华为技术有限公司 数据库查询方法及设备
CN103442029A (zh) * 2013-07-29 2013-12-11 广东电网公司电力科学研究院 异构实时历史数据库同步方法和***

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105391776A (zh) * 2015-10-20 2016-03-09 上海斐讯数据通信技术有限公司 长连接消息的通信方法及***
CN106933850A (zh) * 2015-12-29 2017-07-07 阿里巴巴集团控股有限公司 网络数据查询方法、装置和***
CN106933850B (zh) * 2015-12-29 2020-08-07 阿里巴巴集团控股有限公司 网络数据查询方法、装置和***
CN112416322A (zh) * 2020-11-20 2021-02-26 城云科技(中国)有限公司 一种根据自循环函数获取数据集中前一个数据的实现方法

Also Published As

Publication number Publication date
CN104050284B (zh) 2017-11-10

Similar Documents

Publication Publication Date Title
CN104737157B (zh) 联合数据库***
CN108897854B (zh) 一种超时任务的监控方法和装置
CN105049268A (zh) 分布式计算资源分配***和任务处理方法
CN101556678A (zh) 一种批处理业务的处理方法、***及业务处理控制设备
CN103957246A (zh) 基于租户感知的动态负载均衡方法及***
CN102902752A (zh) 一种日志监控方法及***
CN111538605B (zh) 一种分布式数据访问层中间件及命令执行方法和装置
CN105491078B (zh) Soa***中的数据处理方法及装置、soa***
CN103177035A (zh) 一种在数据库中查询数据的装置及方法
CN104050284A (zh) 一种基于单进程的数据异步查询方法及***
CN103810203A (zh) 一种数据库管理***连接复用方法及装置
WO2023082681A1 (zh) 基于批流一体的数据处理方法、装置、计算机设备和介质
CN105512188A (zh) 数据连接方法和数据连接***
CN108881651A (zh) 呼叫平台的数据处理方法、装置、设备及存储介质
CN102456004A (zh) 一种页面数据查询控制方法及***
CN105227386B (zh) 用于分群体统计在线用户数的方法、装置及***
CN108259605B (zh) 一种基于多数据中心的数据调用***及方法
CN105872082B (zh) 基于容器集群负载均衡算法的细粒度资源响应***
CN104850431B (zh) 基于fota升级的稳定处理方法和装置
CN103744880B (zh) 一种基于云计算的dna数据管理方法及***
CN106408490A (zh) 一种激活工单处理方法和激活工单处理装置
CN112099864A (zh) 一种异步数据的处理方法及装置
CN108965403A (zh) 运维监控连接的建立方法及终端设备
CN111376255B (zh) 机器人数据采集方法、装置及终端设备
CN106775818A (zh) 基于can总线的ecu升级方法及ecu升级设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant