CN111966979B - 一种基于http协议的井下数据搜索引擎及交互系统 - Google Patents
一种基于http协议的井下数据搜索引擎及交互系统 Download PDFInfo
- Publication number
- CN111966979B CN111966979B CN202010872546.1A CN202010872546A CN111966979B CN 111966979 B CN111966979 B CN 111966979B CN 202010872546 A CN202010872546 A CN 202010872546A CN 111966979 B CN111966979 B CN 111966979B
- Authority
- CN
- China
- Prior art keywords
- module
- user
- data
- login
- content
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于HTTP协议的井下数据搜索引擎及交互系统,可实现井下实时数据的快速检索和调优、历史数据快速检索。其特征在于,所述系统包括web服务器模块、主页面显示模块、用户登录模块、数据检索模块、内容模块、守护进程模块。本系统基于Linux环境和轻量级SQLite数据库,采用B/S架构实现井下实时数据和历史数据快速检索,通过创建守护进程可以将实时数据接收至服务端,利用计算模型进行调参设置,测井人员可以主动参与计算模型的参数调优,从而使接收数据的精确度和准确度可以提高20%。
Description
技术领域
本发明涉及石油测井技术领域,特别涉及一种基于HTTP协议的井下数据搜索引擎及交互系统。
背景技术
随着石油测井技术的深入发展,在油田勘探过程中对井下数据处理的准确性、可靠性提出了更高的要求。由于井下环境空气湿度大、空气中浮游杂质含量高、腐蚀性气体含量高等特点,集成数据检索与井下数据调优,实现数据可视化是一个技术难点。
发明内容
为了克服上述现有技术的不足,本发明的目的在于提供一种基于HTTP协议的井下数据搜索引擎及交互系统,有效对井下数据进行性能分析、提升可靠性评估的准确性。
为了实现上述目的,本发明采用的技术方案是:
一种基于HTTP协议的井下数据搜索引擎及交互系统,包括守护进程模块,守护进程模块与web服务器模块相连,web服务器模块分别与主页面显示模块、用户登录模块、数据检索模块、内容模块相连。
所述web服务器模块用于实现在程序运行后,作为主进程接收来自网页客户端的HTTP请求,并分析其请求报文,返回所对应的响应报文;
所述主页面显示模块用于实现用户在网页端输入指定IP地址,web服务器接收到请求报文后返回给用户HTML格式的登录主页面,显示区域由一张背景图和一个文本控件组成;
所述用户登录模块包括注册组件、登录组件;
注册组件用于实现用户注册登录名,设置8-15位长度密码,同时将本次注册信息插入SQLite数据库存储为用户信息;
登录组件包含以下功能:输入登录名,登录名验证、输入密码、密码验证,其中登录名验证通过数据库已存储用户名字符串匹配,校验是否输入正确格式的用户名;密码验证同样通过数据库已存储用户密码字符串匹配,校验是否输入正确格式的密码,若判断输入密码匹配,登陆成功,服务器返回数据检索的响应报文;
所述数据检索模块用于实现精准检索所需数据,井下信息数据库包含动液面、沉没度、含水率、井底流压、套压、压力参数、温度参数、深度值、功率图、示功图等数据,用户可在搜索框中键入关键字、词进行快速搜索已存入SQLite数据库标题文件夹的内容;
所述内容模块可以实现子用户键入关键字后,服务器在本地SQLite数据库中搜索相应井下数据内容,并返回响应报文;
所述内容模块包含文字内容、图片内容两部分。所述文字内容用于显示SQLite数据库存入的关键字相关所有信息,若显示内容过多,设置分页管理,用户可点击下一页方便阅读所有数据。
所述图片内容则是为了让用户更直观地分析数据;
具体过程如下,需要进行沉没度参数优化时,守护进程模块将结合Vogel方程绘制出油层的供液能力曲线,通过对冲程、冲次、泵径的计算分析,得到最佳合理沉没度值;需要进行含水率参数参数优化时,守护进程模块将结合童氏标准曲线和校正曲线拟合,通过对矿化度、温度、标定含水率的计算分析,得到高精度的实际含水率数据,把优化后的沉没度值、含水率数据更新至数据库。
所述守护进程模块用于实现搭建后台服务器端,根据用户端提交请求的关键字,判断进行沉没度参数设置或含水率参数设置,上述参数设置组件包含:沉没度优化参数选择窗口、含水率优化参数选择窗口。通过共享内存将优化参数发送至主进程的计算模型,经计算模型优化,将优化后的数据更新至数据库,通过对冲程、冲次、泵径的优化计算分析,可得到最佳合理沉没度值,因而更符合抽油机井生产的实际情况,通过对矿化度、温度、标定含水率的优化计算分析,可得到高精度的实际含水率数据。
所述web服务器模块采用epoll技术实现多用户并发访问,可以使服务器不会因为同一时间申请连接人数过多导致网页崩溃。
所述用户登录模块和数据检索模块使用SQLite数据库存储用户登录信息,若同一用户下次登录或者检索,在文本框内会提示近期登录用户信息和检索历史,方便用户使用,节省重复操作的时间。
所述守护进程模块后台维护web服务器,监听客户端的参数调优请求;
具体为:web服务器利用socket套接字函数绑定一个端口,监听客户端的连接,当客户端向服务器任一IP发送连接请求时,双方通过建立安全传输连接,服务器端接收并解析来自客户端的请求关键字,判断并返回沉没度参数设置页面或者含水率参数设置页面,通过共享内存将接收的优化参数分享至主进程中的计算模型,从而对数据进行优化,提高采集数据的准确性。
本发明的有益效果:
本系统基于Linux环境和轻量级SQLite数据库,采用B/S架构实现井下实时数据和历史数据快速检索,通过创建守护进程可以将实时数据接收至服务端,利用计算模型进行调参设置,测井人员可以主动参与计算模型的参数调优,从而使接收数据的精确度和准确度可以提高20%。
附图说明
图1为本发明实施例的一种基于HTTP协议的井下数据搜索引擎及交互系统的结构图。
图2为本发明实施例的一种基于HTTP协议的井下数据搜索引擎及交互系统的守护进程模块框图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
一种基于HTTP协议的井下数据搜索引擎及交互系统,采用B/S模型,包括web服务器模块、主页面显示模块、用户登录模块、数据检索模块、内容模块、守护进程模块,可以实现井下数据搜索引擎及交互功能。基于HTTP协议的井下数据搜索引擎及交互系统框架图如图1所示。
所述web服务器模块用于实现在程序运行后,作为主进程接收来自网页客户端的HTTP请求,并分析其请求报文,返回所对应的响应报文。其具体实现是通过socket网络编程,设置服务器为server端,建立基于TCP协议的通讯基础,绑定IP地址供用户网页端访问,在程序启动后,listen函数使服务器一直处于监听状态,当用户网页端向服务端发送连接请求时,后端编程阶段实现请求报文的separate分割函数,通过分割后的请求方法字段、URL字段关键字判断返回的响应报文类型,其中响应报文包含文字类型和图片类型两类,从而实现了服务器端与用户网页端的数据交互。
在此基础上,由于现有的服务器经常面临同一时刻大量用户请求提交数据,因此针对这一难点利用epoll技术实现服务器高并发功能,以满足实际要求。
epoll实现高并发操作过程需要三个接口函数,分别如下:
1.int epoll_create(int size);创建一个epoll的句柄,size用来告诉内核这个监听的数目一共有多大,当创建好epoll句柄后,它就会占用一个fd值,在linux下如果查看/proc/进程id/fd/,是能够看到这个fd的,所以在使用完epoll后,必须调用close()关闭,否则可能导致fd被耗尽。
2.int epoll_ctl(int epfd,int op,int fd,struct epoll_event*event);该函数是对指定描述符fd执行op操作,epfd:是epoll_create()的返回值;op:表示op操作,用三个宏来表示:添加EPOLL_CTL_ADD,删除EPOLL_CTL_DEL,修改EPOLL_CTL_MOD。分别添加、删除和修改对fd的监听事件。fd:是需要监听的fd(文件描述符)epoll_event:是告诉内核需要监听什么事。struct结构体便是对应的文件描述符的属性集合。
3.int epoll_wait(int epfd,struct epoll_event*events,int maxevents,inttimeout);
该函数等待epfd上的io事件,最多返回maxevents个事件。参数events用来从内核得到事件的集合,maxevents告之内核这个events有多大,这个maxevents的值不能大于创建epoll_create()时的size,参数timeout是超时时间(毫秒,0会立即返回,-1将不确定,也有说法说是永久阻塞)。该函数返回需要处理的事件数目,如返回0表示已超时。
epoll对文件描述符的操作有两种模式:LT(level trigger)和ET(edgetrigger)。LT模式是默认模式,LT模式时,当epoll_wait检测到描述符事件发生并将此事件通知应用程序,应用程序可以不立即处理该事件;下次调用epoll_wait时,会再次响应应用程序并通知此事件。ET模式时,当epoll_wait检测到描述符事件发生并将此事件通知应用程序,应用程序必须立即处理该事件;如果不处理,下次调用epoll_wait时,不会再次响应应用程序并通知此事件。
ET模式在很大程度上减少了epoll事件被重复触发的次数,因此效率要比LT模式高。epoll工作在ET模式的时候,必须使用非阻塞套接口,以避免由于一个文件句柄的阻塞读/阻塞写操作把处理多个文件描述符的任务阻塞。因此本服务器端采用ET模式的epoll技术可以实现高并发。
所述守护进程模块用于实现搭建后台服务器端,根据用户端提交请求的关键字,判断进行沉没度优化设置或含水率优化设置,通过共享内存将优化参数发送至主进程的计算模型,经计算模型优化,将优化后的数据更新至数据库。守护进程模块框图如图2所示。受到干扰引起参数波动较大时,用户可通过输入服务器网卡任一IP,由守护进程模块向服务器端发送请求,服务器端根据客户端发送的请求关键字,判断返回沉没度调优页面或者含水率调优页面,客户端在网页输入调优参数后,服务器端接收数据并通过共享内存发送至主进程计算模型,对沉没度或含水率数据进行优化。上述参数设置组件包含:沉没度优化参数选择窗口、含水率优化参数选择窗口。以井下效率为目标函数优化合理沉没度的方法,不仅考虑了井筒中的情况,而且考虑了油层供液能力,通过对冲程、冲次、泵径的优化计算分析,可得到最佳合理沉没度值,因而更符合抽油机井生产的实际情况。通过对矿化度、温度、标定含水率的优化计算分析,可得到高精度的实际含水率数据。
所述主页面显示模块实现了用户在网页端输入指定IP地址,确定后即向服务器端发送了连接请求,报文中请求头包含了请求方法字段、URL字段和HTTP协议版本,web服务器接收到请求报文后,判断各字段类型返回给用户HTML格式的显示主页面,显示区域由一张背景图和一个文本控件组成,显示主页面在经过1s后向服务器端发送登录页面请求报文。
所述用户登录模块包括注册组件、登录组件。注册组件用于实现用户注册登录名,设置8-15位长度密码,同时将本次注册信息插入SQLite数据库存储为用户信息。登录组件包含以下功能:输入登录名,登录名验证、输入密码、密码验证,其中登录名验证通过数据库已存储用户名字符串匹配,校验是否输入正确格式的用户名,若没有输入用户名,则显示“请输入用户名”;若输入的用户名正确,校验通过等待用户输入密码;密码验证同样通过数据库已存储用户密码字符串匹配,校验是否输入正确格式的密码,若输入长度不足8-15位,则显示“密码长度错误!”;若没有输入密码,显示“请输入密码”,若输入密码不正确,显示“用户名或密码错误!”若判断输入密码匹配,登陆成功。同时向服务器建立连接请求,发送包含搜索页面所属字段的请求报文,服务器监听连接后返回数据检索的响应报文。
所述数据检索模块用于实现精准检索所需数据,数据库井下数据包含动液面、沉没度、含水率、井底流压、套压、压力参数、温度参数、深度值、功率图、示功图等数据。数据检索模块设计有相应界面,用户可在界面的搜索框中键入关键字、词进行快速搜索已存入SQLite数据库标题文件夹的内容。
所述内容模块实现了用户键入关键字后,服务器在本地SQLite数据库中搜索相应井下数据内容,并返回响应报文。内容模块包含了文字内容、图片内容两部分。所述文字内容用于显示SQLite数据库存入的关键字相关信息,若显示内容过多,设置了分页管理,用户可点击下一页方便阅读所有数据。所述图片内容显示为了让用户更直观地分析数据。
应当理解,以上所描述的具体实施例仅用于解释本发明,并不用于限定本发明。由本发明的精神所引伸出的显而易见的变化或变动仍处于本发明的保护范围之中。
Claims (5)
1.一种基于HTTP协议的井下数据搜索引擎及交互系统,其特征在于,包括守护进程模块,守护进程模块与web服务器相连,web服务器分别与主页面显示模块、用户登录模块、数据检索模块、内容模块相连;
所述web服务器用于实现在程序运行后,作为主进程接收来自网页客户端的HTTP请求,并分析其请求报文,返回所对应的响应报文;
所述主页面显示模块用于实现用户在网页端输入指定IP地址,web服务器接收到请求报文后返回给用户HTML格式的登录主页面,显示区域由一张背景图和一个文本控件组成;
所述用户登录模块包括注册组件、登录组件;
注册组件用于实现用户注册登录名,设置8-15位长度密码,同时将本次注册信息插入SQLite数据库存储为用户信息;
登录组件包含以下功能:输入登录名,登录名验证、输入密码、密码验证,其中登录名验证通过数据库已存储用户名字符串匹配,校验是否输入正确格式的用户名;密码验证同样通过数据库已存储用户密码字符串匹配,校验是否输入正确格式的密码,若判断输入密码匹配,登陆成功,服务器返回数据检索的响应报文;
所述数据检索模块用于实现精准检索所需数据,井下信息数据库包含动液面、沉没度、含水率、井底流压、套压、压力参数、温度参数、深度值、功率图、示功图数据,用户在搜索框中键入关键字、词进行快速搜索已存入SQLite数据库标题文件夹的内容;
所述内容模块可以实现子用户键入关键字后,服务器在本地SQLite数据库中搜索相应井下数据内容,并返回响应报文;
所述守护进程模块用于实现搭建后台服务器端,根据用户端提交请求的关键字,判断进行沉没度参数设置或含水率参数设置,上述参数设置组件包含:沉没度优化参数选择窗口、含水率优化参数选择窗口,通过共享内存将优化参数发送至主进程的计算模型,经计算模型优化,将优化后的数据更新至数据库;
具体过程如下,需要进行沉没度参数优化时,守护进程模块将结合Vogel方程绘制出油层的供液能力曲线,通过对冲程、冲次、泵径的计算分析,得到最佳合理沉没度值;需要进行含水率参数优化时,守护进程模块将结合童氏标准曲线和校正曲线拟合,通过对矿化度、温度、标定含水率的计算分析,得到高精度的实际含水率数据,把优化后的沉没度值、含水率数据更新至数据库。
2.根据权利要求1所述的一种基于HTTP协议的井下数据搜索引擎及交互系统,其特征在于,所述内容模块包含文字内容、图片内容两部分;
所述文字内容用于显示SQLite数据库存入的关键字相关所有信息,若显示内容过多,设置分页管理,用户可点击下一页方便阅读所有数据;
所述图片内容显示为了让用户更直观地分析数据。
3.根据权利要求1所述的一种基于HTTP协议的井下数据搜索引擎及交互系统,其特征在于,所述web服务器模块采用epoll技术实现多用户并发访问,使服务器不会因为同一时间申请连接人数过多导致网页崩溃。
4.根据权利要求1所述的一种基于HTTP协议的井下数据搜索引擎及交互系统,其特征在于,所述用户登录模块和数据检索模块使用SQLite数据库存储用户登录信息,若同一用户下次登录或者检索,在文本框内会提示近期登录用户信息和检索历史。
5.根据权利要求1所述的一种基于HTTP协议的井下数据搜索引擎及交互系统,其特征在于,所述守护进程模块后台维护web服务器,监听客户端的参数调优请求;
具体为:web服务器利用socket套接字函数绑定一个端口,监听客户端的连接,当客户端向服务器任一IP发送连接请求时,双方通过建立安全传输连接,服务器端接收并解析来自客户端的请求关键字,判断并返回沉没度参数设置页面或者含水率参数设置页面,通过共享内存将接收的优化参数分享至主进程中的计算模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010872546.1A CN111966979B (zh) | 2020-08-26 | 2020-08-26 | 一种基于http协议的井下数据搜索引擎及交互系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010872546.1A CN111966979B (zh) | 2020-08-26 | 2020-08-26 | 一种基于http协议的井下数据搜索引擎及交互系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111966979A CN111966979A (zh) | 2020-11-20 |
CN111966979B true CN111966979B (zh) | 2023-02-28 |
Family
ID=73389832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010872546.1A Active CN111966979B (zh) | 2020-08-26 | 2020-08-26 | 一种基于http协议的井下数据搜索引擎及交互系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966979B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527283A (zh) * | 2020-12-18 | 2021-03-19 | 四川大学 | 一种量子计算模拟工具集 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050054886A (ko) * | 2005-05-16 | 2005-06-10 | (주)에스투에스 | 웹 검색을 위한 검색엔진 연동 JAVA API 및 Daemon Process구현 및 개발 |
CN101042699A (zh) * | 2007-04-28 | 2007-09-26 | 华中科技大学 | 基于访问控制的安全搜索引擎系统 |
CN103795786A (zh) * | 2014-01-20 | 2014-05-14 | 杭州百富电子技术有限公司 | 具有web服务功能的嵌入式集中器系统 |
CN106649462A (zh) * | 2016-09-26 | 2017-05-10 | 北京赛思信安技术股份有限公司 | 一种针对海量数据全文检索场景的实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10726083B2 (en) * | 2010-10-30 | 2020-07-28 | International Business Machines Corporation | Search query transformations |
-
2020
- 2020-08-26 CN CN202010872546.1A patent/CN111966979B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050054886A (ko) * | 2005-05-16 | 2005-06-10 | (주)에스투에스 | 웹 검색을 위한 검색엔진 연동 JAVA API 및 Daemon Process구현 및 개발 |
CN101042699A (zh) * | 2007-04-28 | 2007-09-26 | 华中科技大学 | 基于访问控制的安全搜索引擎系统 |
CN103795786A (zh) * | 2014-01-20 | 2014-05-14 | 杭州百富电子技术有限公司 | 具有web服务功能的嵌入式集中器系统 |
CN106649462A (zh) * | 2016-09-26 | 2017-05-10 | 北京赛思信安技术股份有限公司 | 一种针对海量数据全文检索场景的实现方法 |
Non-Patent Citations (1)
Title |
---|
基于Hadoop的搜索引擎用户行为分析;王振宇等;《计算机工程与科学》;20110415(第04期);第119-124页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111966979A (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4839278B2 (ja) | Urlの類似性分析による処理省略判定プログラム、装置 | |
CN1713179B (zh) | 在对象模型中的影响分析 | |
CN103532780A (zh) | 用于it领域的运维监控一体化系统及一体化监控方法 | |
KR20140038432A (ko) | 사용자 탐색 이벤트의 예측 | |
US11921720B1 (en) | Systems and methods for decoupling search processing language and machine learning analytics from storage of accessed data | |
US20070130119A1 (en) | User/process runtime system trace | |
WO2017053802A1 (en) | System and method for detecting whether automatic login of user credentials to a web site has succeeded | |
KR102550540B1 (ko) | 랜딩 페이지 처리 방법, 장치, 기기 및 매체 | |
US11489907B1 (en) | Systems, methods, and computer-readable storage media for extracting data from web applications | |
CN111064725A (zh) | 一种代码零入侵接口校验方法和校验装置 | |
CN111966979B (zh) | 一种基于http协议的井下数据搜索引擎及交互系统 | |
CN106776983A (zh) | 搜索引擎优化装置和方法 | |
CN110442519A (zh) | 一种崩溃文件处理方法、装置、电子设备及存储介质 | |
CN112949269A (zh) | 可视化数据分析报表的生成方法、系统、设备及存储介质 | |
US10990607B1 (en) | Systems and methods for log aggregation | |
CN115016978A (zh) | 数据校验方法及装置、计算机存储介质、电子设备 | |
CN112912885A (zh) | 用于印刷电路板原理图的接口连接 | |
US11748634B1 (en) | Systems and methods for integration of machine learning components within a pipelined search query to generate a graphic visualization | |
US20050144026A1 (en) | Methods and apparatus for electronic communication | |
US10554502B1 (en) | Scalable web services execution | |
WO2020226648A1 (en) | Client isolation with native cloud features | |
CN115757995A (zh) | 无特征数据标签处理方法、装置、计算机设备及存储介质 | |
CN112948733B (zh) | 接口维护方法、装置、计算设备以及介质 | |
US11250139B2 (en) | Greybox fuzzing for web applications | |
CN114297495A (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 |