CN108574620A - 一种数据订阅方法、装置、服务器以及系统 - Google Patents
一种数据订阅方法、装置、服务器以及系统 Download PDFInfo
- Publication number
- CN108574620A CN108574620A CN201710139632.XA CN201710139632A CN108574620A CN 108574620 A CN108574620 A CN 108574620A CN 201710139632 A CN201710139632 A CN 201710139632A CN 108574620 A CN108574620 A CN 108574620A
- Authority
- CN
- China
- Prior art keywords
- subscription information
- subscription
- module
- data
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出一种数据订阅方法,包括:响应于订阅激活指令,生成订阅信息;对订阅信息进行安全验证,若通过安全验证,生成安全日志记录;读取邮件模板,根据订阅信息生成超文本邮件信息和结构化查询语言,执行结构化查询语言,并将查询结果返回至邮件生成模块;邮件生成模块根据查询结果生成邮件附件,并发送所述邮件。上述数据订阅方法能够实现用户对于数据订阅的不同定制需求,保证订阅数据快速、及时上线。用户可以使用不同的终端,快速、有效地实现对多服务器或者分布式服务器进行查询,安全性高,能够有效防止SQL注入。
Description
技术领域
本发明属于互联网技术领域,具体涉及一种数据订阅方法、装置、服务器以及系统。
背景技术
数据查询和数据订阅是互联网中数据获取的两种主要方法。对于用户新提交的数据查询需求,现有各业务系统需要走一套完整的需求受理、需求实现、结果测试、需求上线的流程。整个功能上线的周期长、各方面的牵扯也比较复杂。
所以如果数据查询需求只是服务VIP用户的非一般性需求,现有技术往往转由运维人员直接访问数据库进行数据查询,然后导出结果给用户。但假如这些需求是高频查询或需要即时反馈的,那么就往往给用户和运维人员带来较大的成本和效率等方面的问题。
在数据订阅方面:推送报表是数据订阅的主要手段,对于报表的生成当前已有非常成熟的技术,但现在的各类报表平台做得非常重,使用起来需要一定的知识背景。并且接入这类报表系统往往会给业务系统带来许多复杂性、安全性等方面的问题,特别是当VIP用户只需要简单的诸如监控预警、统计总结之类的报表,还不如让运维人员直接从数据库中导出数据,然后用Excel生成报表——这也是现有技术的惯用做法,但其效率和成本依然是难以忽视的瓶颈。
现有技术在为VIP用户服务时,在数据查询方面比较难以满足其非一般性需求存在的高频查询和即时反馈的要求;在报表服务方面又很容易受到来自系统复杂性、安全性、效率和成本等方面的挑战。
发明内容
为了解决现有技术中存在的问题,本发明实施例提供了一种数据订阅方法、装置以及系统。所述技术方案如下:
第一方面,提供一种数据订阅方法,所述方法包括如下步骤:订阅队列控制模块响应于订阅激活指令,生成订阅信息,并将所述订阅信息发送至安全日志模块;安全日志模块对所述订阅信息进行安全验证,若通过所述安全验证,生成安全日志记录,并向邮件生成模块发送所述订阅信息;邮件生成模块读取邮件模板,根据所述订阅信息生成超文本邮件信息和结构化查询语言,并将所述结构化查询语言发送至数据库服务模块;所述数据库服务模块执行所述结构化查询语言,并将查询结果返回至所述邮件生成模块;所述邮件生成模块根据所述查询结果生成邮件附件,将所述邮件附件添加于所述邮件,并发送所述邮件。
第二方面,提供一种数据订阅装置,所述装置包括如下模块:订阅队列控制模块,用于响应订阅激活指令,生成订阅信息,并将所述订阅信息发送至安全日志模块;安全日志模块,用于对所述订阅信息进行安全验证,若通过所述安全验证,生成安全日志记录,并向邮件生成模块发送所述订阅信息;邮件生成模块读取邮件模板,根据所述订阅信息生成超文本邮件信息和结构化查询语言,并将所述结构化查询语言发送至数据库服务模块;数据库服务模块,用于执行所述结构化查询语言,并将查询结果返回至所述邮件生成模块;邮件生成模块,还用于根据所述查询结果生成邮件附件,将所述邮件附件添加于所述邮件,并发送所述邮件。
第三方面,提供一种服务器,包含前述的数据订阅装置。
第四方面,提供一种数据订阅系统,包含前述的数据订阅装置。
本发明能够达到的有益效果:本实施例提供的数据校验方法能够实现用户对于数据订阅的不同定制需求,保证订阅数据快速、及时上线。用户可以使用不同的终端,快速、有效地实现对多服务器或者分布式服务器进行查询,安全性高,无SQL注入风险。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明;
图1是本发明实施例提供的一种实施环境的示意图。
图2是本发明实施例提供的数据订阅系统结构示意图。
图3是本发明实施例提供的数据订阅系统工作原理示意性流程图。
图4是本发明实施例提供的数据订阅方法流程图。
图5是本发明实施例提供的数据订阅方法流程图。
图6是本发明实施例提供的数据订阅方法流程图。
图7是本发明实施例提供的数据订阅方法流程图。
图8是本发明实施例提供的数据订阅装置原理图。
图9是本发明实施例提供的数据订阅装置原理图。
图10是本发明实施例提供的服务器终端结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本实施例涉及的技术术语如下:
VIP用户:数量不大,但需要得到快速响应的用户群体,比如系统管理员、游戏管理员(GameMaster)、论坛版主等等。这类人群对用户界面要求不高,但是需要得到及时和精确的数据获取服务。
非一般性数据查询需求:服务于一小部分特定人群的,因易变动和受众少而未整合进现有业务系统的数据查询需求。
本发明实施例提供了一种数据查询方法,请参考图1,其示出了本发明实施例提供的数据查询方法所涉及的实施环境的结构示意图。该实施环境包括:用户终端设备,WEB服务器,文件服务器,后台服务器,邮件服务器,多个数据库服务器和系统数据库服务器。图2则示出了图1实施环境下各部分工作的示例性流程,服务器中的订阅队列控制模块在激活一个订阅之后,将订阅信息发送至安全日志模块;安全日志模块对订阅信息进行安全检测,在安全检测通过之后进行日志记录,并将订阅信息发送至邮件生成服务器;邮件生成服务器读取邮件模板,生成邮件HTML文件,之后邮件生成服务器执行SQL_TEXT查询,生成邮件附件,然后将订阅消息发送至摘要生成模块;摘要生成模块判断RSS_SQL是否为空,如果不为空,那么执行摘要SQL的查询,并将订阅信息发送至邮件生成模块;邮件生成服务器接收订阅信息,并在订阅信息中加入RSS_ABSTRACT,然后将订阅信息发送至图表生成模块;图表生成的模块按照CHART_SQL和CHART_IDS生成图表,将生成的图表加入订阅信息,并返回邮件生成模块,邮件生成模块根据邮件HTML、邮件附件、摘要和的图表生成一封订阅报表邮件,并使用邮件服务器提供的邮件服务将订阅邮件推送给用户设备。
如图3所示,其示出了本发明一个实施例提供的数据订阅方法,该方法可应用于图1所示实施环境中。该方法可以包括如下步骤:
S301,订阅队列控制模块响应于订阅激活指令,向安全日志模块发送订阅信息。
S302,安全日志模块接收并对订阅信息进行安全检测,在安全检测通过之后进行日志记录,并将订阅信息发送至邮件生成服务器。
S303,邮件生成服务器读取邮件模板,生成邮件HTML文件,之后邮件生成服务器执行SQL_TEXT查询,生成邮件附件,然后将订阅消息发送至摘要生成模块。
S304,摘要生成模块判断RSS_SQL是否为空,如果不为空,那么执行摘要SQL的查询,并将订阅信息发送至邮件生成模块。
S305,邮件生成服务器接收订阅信息,并在订阅信息中加入RSS_ABSTRACT,然后将订阅信息发送至图表生成模块。
S306,图表生成的模块按照CHART_SQL和CHART_IDS生成图表,将生成的图表加入订阅信息,并返回邮件生成模块,邮件生成模块根据邮件HTML、邮件附件、摘要和的图表生成一封订阅报表邮件,并使用邮件服务器提供的邮件服务将订阅邮件推送给用户设备。
在上述过程中,各字段含义如下表所示:
字段名 | 字段说明 |
SQL_ID | 数据查询功能的关联ID,SMARTDATA_RSS表与SMARTDATA_SQL之间是一一对应的关系 |
RSS_TITLE | 订阅邮件的标题 |
RSS_ABSTRACT | 订阅邮件的摘要 |
RSS_TEMPLATE | 生成订阅邮件的模板配置 |
RSS_SQL | 订阅邮件摘要的查询SQL,为空则表示不对RSS_ABSTRACT进行格式化 |
charT_SQL | 订阅邮件图表的查询SQL,为空则表示不使用图表 |
charT_IDS | 订阅邮件图表样式表(SMARTDATA_charT)的ID集合,用英文逗号隔开 |
charT_TITLES | 按序配置各个charT_IDS中对应图表的标题,用英文逗号隔开 |
RSS_TIMESPAN | 订阅邮件发送的时间间隔,单位是秒 |
综上所述,本实施例提供的数据校验方法能够实现用户对于数据订阅的不同定制需求,保证订阅数据快速、及时上线。用户可以使用不同的终端,快速、有效地实现对多服务器或者分布式服务器进行查询,安全性高,无SQL注入风险。
如图4所示,其示出了本发明一个实施例提供的数据订阅方法,该方法可应用于图1所示实施环境中。该方法可以包括如下步骤:
S410,订阅队列控制模块响应于订阅激活指令,生成订阅信息,并将所述订阅信息发送至安全日志模块。
如图5所示的交互流程,订阅激活指令包括用户发送的订阅请求和订阅队列控制模块预设的订阅触发条件中的中的至少一个。
在一个示例中,订阅激活指令可以是用户发送的订阅请求,用户的订阅请求可视为用户对于数据库查询操作的一个超集,其包含了用户输入的数据库查询条件,例如,用户的请求类别、类别的名称、价格、日期、数量等等。用户发送的订阅请求通常是由用户在用户设备上发起的,用户使用用户设备之后,通过用户设备生成订阅的激活指令,订阅激活指令中包含用户输入的请求信息。当然,在订阅激活指令中还包含用户的身份验证信息,例如用户的ID,密码,用户权限和等级等等,订阅请求内容必须与用户ID所对应的权限匹配,否则订阅会收到限制。例如,订阅激活指令必须在客户登录之后才可以进行的,如果用户未登录则无法使用该功能。不同权限的订阅请求可能会具有不同的限制,例如订阅数据发送的频次、订阅内容的条目数,高级用户可以接收的数据频次更高、内容条目数更多,而低权限用户则在某些功能上收到限制。用于发送订阅请求的用户设备包括但不限于移动设备和终端设备,移动设备可以是智能手机、PAD、PDA等,终端设备可以是个人PC。所述移动班那个设备和终端设备基于BS(Browser-server)协议或者CS(Client-server)协议与服务器进行通信,基于BS架构,适配不同的终端(电脑、手机、平板等);没有复杂的菜单项和业务逻辑,用户上手迅速。基于CS构架,用户可以在安装有客户端的终端上进行操作。
在一个示例中,订阅激活指令可以是订阅队列控制模块预设的订阅触发条件,订阅触发条件可以是由运维人员根据用户需求预先设置,并存储于订阅队列控制模块中的,该订阅触发条件也可视为用户对于数据库查询操作的一个超集,其包含了用户输入的数据库查询条件,例如,用户的请求类别、类别的名称、价格、日期、数量等等。用户发送的订阅请求通常是由用户在用户设备上发起的,用户使用用户设备之后,在判断用户的订阅请求属于一般性需求之后,由运维人员或者由预定转换模块将用户的订阅请求转换为订阅触发条件,并将订阅触发条件存储于订阅队列控制模块中。订阅触发条件可以是定时触发的,按照预定的时间周期的触发,例如6小时、12小时、24小时等等,订阅触发条件还可以是按照条件触发的,例如用在线户数量满足条件则开启订阅触发等等。订阅触发条件中同样包含用户输入的请求信息、用户的身份验证信息,例如用户的ID,密码,用户权限和等级等等,订阅请求内容必须与用户ID所对应的权限匹配,否则订阅会收到限制。例如,订阅激活指令必须在客户登录之后才可以进行的,如果用户未登录则无法使用该功能。不同权限的订阅请求可能会具有不同的限制,例如订阅数据发送的频次、订阅内容的条目数,高级用户可以接收的数据频次更高、内容条目数更多,而低权限用户则在某些功能上收到限制。
S420,安全日志模块对所述订阅信息进行安全验证,若通过所述安全验证,生成安全日志记录,并向邮件生成模块发送所述订阅信息。
安全日志模块接收所述订阅信息,并对所述订阅信息进行安全验证包括,对所述订阅信息的权限验证、对所述订阅信息的内容验证和对所述订阅信息的结果验证。对所述订阅信息的权限验证包括,根据用户登录的身份信息,通过数据权限表查询属于该订阅信息数据的结构化查询实例集合;或者,判断数据结构化查询实例集合是否属于该订阅信息。对所述订阅信息的内容验证包括,验证所述订阅信息中是否包含风险项,若是,则拒绝所述订阅信息。对所述订阅信息的内容验证包括,查询订阅信息中的查询间隔时间是否过短,若是,则拒绝所述订阅信息。对所述订阅信息的结果验证包括,查询订阅信息的结果行数是否超过预定阈值,若是,则拒绝所述数据查询请求。
在一个示例中,安全日志模块会对接收到的订阅信息进行解析,对订阅信息中包含的用户权限进行验证,若用户权限与订阅信息相匹配,则说明用户具有订阅对应数据的权限,安全日志模块将对订阅请求予以放行,安全日志记录模块会对查询请求进行安全日志记录,将该订阅请求进行记录。安全日志模块根据用户身份信息(staff_id),通过数据查询权限表(SMARTDATA_RIGHT)查询出属于该用户的数据查询实例集合(SMARTDATA_SQL)。或者,权限验证服务器直接判断数据查询实例集合(SMARTDATA_SQL)是否属于该用户。无论使用何种判断方法,在使用权限服务器对用户权限进行验证,并通过之后,即用户具有与发起请求相匹配的权限,订阅请求合法。
在一个示例中,安全日志模块对订阅信息进行安全验证主要包含三个方面:一、订阅请求中可能在存在SQL注入;二、订阅请求结果数过多带来的系统压力;三、是订阅结果防抵赖。对此,安全验证模块包含三个子模块来进行三个方面的验证,三个子模块分别为SQL防注入子模块、查询记录结果数判断模块、日志记录模块。示例性地,SQL防注入子模块用于防止用户数据查询命令中可能存在的SQL注入,该模块用于判断数据查询请求中是否包含风险项,当发现请求中包含风险项时,则所述请求中包含SQL注入风险,拒绝该数据查询请求、生成告警信息,然后将拒绝请求消息返回前端服务器,风险项可以是诸如插入(INSERT)、更新(UPDATE)、子句中搜索列中的指定模式(LIKE)。示例性地,查询记录结果数判断模块向数据库服务器发送数据请求,并判断返回的结果行数,当结果行数大于预定的结果行数阈值时,判断用户请求访问的结果行数过多,拒绝该数据查询请求、生成告警信息,然后将拒绝请求消息返回前端服务器。示例性地,日志记录模块会记录用户的IP,使用的查询功能、查询参数和得到的记录行数等信息到日志表和本地文件中,以防止用户对查询内容抵赖。不失一般性地,日志记录模块会将日志表和本地文件备份到数据库服务器。
在一个示例中,如图6所示,在安全日志模块接收到订阅消息后,会启动如下步骤来进行安全检查。
S4201,由SQL防注入子模块验证订阅消息中是否包含风险项,当发现请求中包含风险项时,则所述请求中包含SQL注入风险,拒绝该订阅消息请求、生成告警信息,然后返回拒绝请求消息。
S4202,若未发现风险项,由请求间隔判断模块判断订阅消息请求的间隔是否过短,若间隔小于预定的时间阈值,则判断用户的订阅消息请求过于频繁,拒绝当前的数据查询请求、生成告警信息,然后返回拒绝请求消息。
S4203,若用户的订阅消息请求间隔大于预定的时间阈值,则查询记录结果数判断模块向数据库服务器发送数据请求,并判断返回的结果行数,当结果行数大于预定的结果行数阈值时,判断用户请求访问的结果行数过多,拒绝该数据查询请求、生成告警信息,然后返回拒绝请求消息。
S4204,如果返回的结果行数满足要求,则安全验证通过,日志记录模块会记录用户的IP,使用的查询功能、查询参数和得到的记录行数等信息到日志表和本地文件中,以防止用户对查询内容抵赖。
通过步骤S4201-S4204,后台服务器与数据库服务器之间的交互配合,实现了对于SQL防注入、防订阅请求频繁查询、防订阅请求查询量过大以及用户对于订阅请求的防抵赖。
S430,邮件生成模块读取邮件模板,根据所述订阅信息生成超文本邮件信息和结构化查询语言,并将所述结构化查询语言发送至数据库服务模块。
邮件生成模块接收到来自日志记录模块的订阅信息后,会读取邮件模板,邮件模板至少包含邮件的标题,收件人,发件人,抄送人地址,密送人地址,邮件附件,邮件正文,在邮件正文部分还包含邮件签名档和插件等信息。例如,邮件模板可以由HTML语言构成,通过HTML语言实现邮件模板中各个项目的生成。
在邮件生成模块接收到订阅信息之后,除根据订阅信息生成超本文邮件信息外,还根据订阅信息中所要查询的内容形成结构化查询语言。
在一个示例中,构造结构化查询语句包括构造数据切换方式的查询语句,数据库查询实现的关键在于切换查询的目标数据库和进行数据查询,数据切换的方式是:根据数据表(SMARTDATA_SQL)中的目标数据(TARGET_DB)字段,去配置管理系统中获取对应的数据库连接字符串来打开数据库。如图1所示,作为用户需要的数据,并不是存储在一个数据库上,而是存储于多个数据库中(DB1,DB2,DB3,…),这些数据库可以是数据库服务器,也可以是基于云服务器的分布式服务器,既然需要在多个数据中查询数据,那么在查询时需要在多个数据库之间切换。为了实现在多个数据库进行查询,并且保证在数据查询时的账户安全和数据安全,利用数据库表中的目标数据库(TARGET_DB)字段来实现各数据库之间的切换。目标数据字段存储了一系列字符串值(PRODUCT_DB_1,PRODUCT_DB_2,…),在查询过程中,服务器并不使用用户名和密码进行查询,而是使用一个键值(Key)进行查询,查询与之对应的值(Value)所对应的字符串,然后根据这个字符串来打开对应的数据库进行内容的读写,从而实现在查询在不同服务器之间的切换。
在一个示例中,利用字符串查询是在数据库查询模块中完成的,例如,使用PRODUCT_DB_1在配置管理系统上查询,就可以得到一个数据库连接字符串,然后可以根据这个字符串来打开对应的数据库进行内容的读写操作。
S440,所述数据库服务模块执行所述结构化查询语言,并将查询结果返回至所述邮件生成模块。
在一个示例中,数据库服务模块执行数据查询的方式是:把用户的输入用作绑定变量来参与查询,以进一步避免SQL注入。在某用户登录时,需要去数据库中检索其用户名和密码是否存在,此时有两种方式:
一种是拼接字符串,如select*from dt_users where name='用户名'and psw='密码'。
还有另一种方式是使用绑定变量:select*from dt_users where name=@p1andpsw=@p2。在上述语句中,绑定变量的方式是将用户输入的信息放在变量的位置进行搜索,如此绑定可以防止SQL注入风险。
在一个示例中,如图7所示,切换查询目标数据库和进行数据查询包括如下步骤:
S4401,接收订阅信息中的查询条件和数据结构化查询语言;
具体地,可以由已有用户输入的查询条件和查询功能对应的SMART_SQL记录,开始进行数据查询。
S4402,根据目标数据库配置表获取数据库连接字符串。
具体地,可以根据TARGET_DB去配置表中获取数据库连接字符串。
S4403,根据订阅信息的查询条件和结构化查询语言构造一个使用绑定变量的结构化查询语言命令。
具体地,可以根据用户的输入和SQL_TEXT构造一个使用绑定变量SqlCommand。
S4404,根据数据库连接字符串,打开目标数据库,使用结构化查询语言命令进行查询。
具体地,根据数据库连接字符串,打开目标数据库,使用SqlCommand进行查询。
S4405,关闭数据库,返回所述查询结果。
具体地,关闭数据库连接,把查询结果转化为DataTable,然后返回。
S450,所述邮件生成模块根据所述查询结果生成邮件附件,将所述邮件附件添加于所述邮件,并发送所述邮件。
在一个示例中,所述邮件生成模块根据所述查询结果生成邮件附件,将所述邮件附件添加于所述邮件,之后,并不马上发送邮件,而是根据所述查询结果生成邮件附件之后,将订阅消息发送至摘要生成模块,摘要生成模块根据订阅消息中的预设字段,判断是否生成摘要,若生成摘要,所述摘要生成模块将摘要发送至邮件服务器;所述邮件服务器将摘要添加于超文本邮件信息中。
在一个示例中,所述邮件生成模块根据所述查询结果生成邮件附件,将所述邮件附件添加于所述邮件,之后,并不马上发送邮件,而是根据所述查询结果生成邮件附件之后,将订阅消息发送至图表生成模块,图表生成模块根据订阅消息中的预设字段,判断是否生成图表,若生成图表,所述图表生成模块将图表发送至邮件服务器;所述邮件服务器将图表添加于超文本邮件信息中。
在一个示例中,所述邮件生成模块根据所述查询结果生成邮件附件,将所述邮件附件添加于所述邮件,之后,并不马上发送邮件,而是根据所述查询结果生成邮件附件之后,将订阅消息发送至摘要生成模块,摘要生成模块根据订阅消息中的预设字段,判断是否生成摘要,若生成摘要,所述摘要生成模块将摘要发送至邮件服务器;所述邮件服务器将摘要添加于超文本邮件信息中。然后,根据所述查询结果生成邮件附件之后,将订阅消息发送至图表生成模块,图表生成模块根据订阅消息中的预设字段,判断是否生成图表,若生成图表,所述图表生成模块将图表发送至邮件服务器;所述邮件服务器将图表添加于超文本邮件信息中。
在一个示例中,邮件生成模块即可以先向摘要生成模块发送订阅信息,也可以先向图表生成模块发送订阅信息。摘要生成模块与图表生成模块依据订阅信息中包含的查询结果来生成摘要或图表。查询结果是以数据或者数据表的形式在数据库服务模块中合并到订阅信息中的。当然,查询结果也可以单独地从数据服务模块发往邮件生成模块,在此情况下,查询结果需要与合并入订阅信息中的查询结果进行结果校验。
在一个示例中,员工ID为2333的用户提出数据订阅需求,需求包括想要查询的内容,推送订阅的时间间隔,以及可选的摘要和图表的内容。如:从数据库中获取最新的1000个物料,在摘要中给出这1000个物料的类别总数和最新插入的物料ID,并把这1000个物料的类别分布绘成图表。每个月推送一次。接下来,用户需求转化为能查出用户想要结果的SQL语句。如上面的例子可以转化为:
SELECT*FROM MATI WHERE ROWNUM<1000ORDER BY ID DESC;--获取1000个最新的物料的查询数据语句。
SELECT COUNT(DISTINCT TYPE_NAME),MAX(ID)FROM(SELECT*FROM MATI WHEREROWNUM<1000ORDER BY ID DESC);--获取到的1000个物料的类别个数及其最新插入的物料ID,用作摘要的查询语句。
SELECT MAX(TYPE_NAME),COUNT(ID)FROM(SELECT*FROM MATI WHERE ROWNUM<1000ORDER BY ID DESC)GROUP BY TYPE_NAME;--获取到的1000个物料的类别及其个数,用作图表的查询语句。
运维人员再把数据库查询语句按特定的方式转化为配置权限和功能的语句,然后在系统数据库上执行。如上面的例子可以转化为:
INSERTINTO SMARTDATA_SQL(ID,QUERY_TITLE,QUERY_DESC,SQL_TEXT,SQL_PARAM,TARGET_DB)VALUES(3,'查询物料','查询最新的1000个物料','SELECT*FROM MATIWHERE ROWNUM<1000ORDER BY ID DESC','RSS','GOODS_DB');配置查询功能的SQL语句INSERT INTO SMARTDATA_RSS(SQL_ID,RSS_TITLE,RSS_TEMPLATE,RSS_ABSTRACT,RSS_SQL,CHART_SQL,CHART_IDS,CHART_TITLES,RSS_TIMESPAN)VALUES(3,'查询物料邮件-智能数据','Default','本次导出的物料所包含的类别个数为{0},最近创建的物料ID是{1}.','SELECT COUNT(DISTINCT TYPE_CODE),MAX(ID)FROM({0})','SELECT COUNT(ID),MAX(TYPE_CODE)FROM({0})GROUP BY TYPE_CODE','1,2','物料类别分布条形图,物料类别分布饼状图',2592000);--配置订阅功能的SQL语句(配置邮件标题、摘要正文、摘要图表等)INSERT INTO SMARTDATA_RIGHT(SQL_ID,STAFF_ID)VALUE(3,2333)。
综上所述,本实施例提供的数据校验方法结果定制性强,可以满足用户对于订阅结果的不同需求。能够保证订阅数据快速、及时上线。用户可以使用不同的终端,快速、有效地实现对多服务器或者分布式服务器进行查询,安全性高,无SQL注入风险。
如图8所示,本实施例还提出一种数据校验装置,该装置可应用于图1所示的实施环境中。
所述装置包含如下模块:
订阅队列控制模块,执行步骤S310,用于响应订阅激活指令,生成订阅信息,并将所述订阅信息发送至安全日志模块;
安全日志模块,执行步骤S320,用于对所述订阅信息进行安全验证,若通过所述安全验证,生成安全日志记录,并向邮件生成模块发送所述订阅信息;
邮件生成模块读取邮件模板,执行步骤S330,根据所述订阅信息生成超文本邮件信息和结构化查询语言,并将所述结构化查询语言发送至数据库服务模块;
数据库服务模块,执行步骤S340用于执行所述结构化查询语言,并将查询结果返回至所述邮件生成模块;
邮件生成模块,执行步骤S350,还用于根据所述查询结果生成邮件附件,将所述邮件附件添加于所述邮件,并发送所述邮件。
如图9所示,本实施例还提出一种数据校验装置,该装置可应用于图1所示的实施环境中。
所述装置包含如下模块:
订阅队列控制模块,执行步骤S410,用于响应订阅激活指令,生成订阅信息,并将所述订阅信息发送至安全日志模块。
如图5所示的交互流程,订阅激活指令包括用户发送的订阅请求和订阅队列控制模块预设的订阅触发条件中的中的至少一个。
如图8所示,所述订阅队列控制模块包括,订阅请求接收子模块、订阅触发存储子模块和响应子模块;所述订阅请求接收模块用于接收订阅激活指令;所述订阅激活预存模块,用于存储预设定的订阅激活指令;响应子模块,用于响应订阅激活指令。
在一个示例中,订阅激活指令可以是用户发送的订阅请求,用户的订阅请求可视为用户对于数据库查询操作的一个超集,其包含了用户输入的数据库查询条件,例如,用户的请求类别、类别的名称、价格、日期、数量等等。用户发送的订阅请求通常是由用户在用户设备上发起的,用户使用用户设备之后,通过用户设备生成订阅的激活指令,订阅激活指令中包含用户输入的请求信息。当然,在订阅激活指令中还包含用户的身份验证信息,例如用户的ID,密码,用户权限和等级等等,订阅请求内容必须与用户ID所对应的权限匹配,否则订阅会收到限制。例如,订阅激活指令必须在客户登录之后才可以进行的,如果用户未登录则无法使用该功能。不同权限的订阅请求可能会具有不同的限制,例如订阅数据发送的频次、订阅内容的条目数,高级用户可以接收的数据频次更高、内容条目数更多,而低权限用户则在某些功能上收到限制。用于发送订阅请求的用户设备包括但不限于移动设备和终端设备,移动设备可以是智能手机、PAD、PDA等,终端设备可以是个人PC。所述移动班那个设备和终端设备基于BS(Browser-server)协议或者CS(Client-server)协议与服务器进行通信,基于BS架构,适配不同的终端(电脑、手机、平板等);没有复杂的菜单项和业务逻辑,用户上手迅速。基于CS构架,用户可以在安装有客户端的终端上进行操作。
在一个示例中,订阅激活指令可以是订阅队列控制模块预设的订阅触发条件,订阅触发条件可以是由运维人员根据用户需求预先设置,并存储于订阅队列控制模块中的,该订阅触发条件也可视为用户对于数据库查询操作的一个超集,其包含了用户输入的数据库查询条件,例如,用户的请求类别、类别的名称、价格、日期、数量等等。用户发送的订阅请求通常是由用户在用户设备上发起的,用户使用用户设备之后,在判断用户的订阅请求属于一般性需求之后,由运维人员或者由预定转换模块将用户的订阅请求转换为订阅触发条件,并将订阅触发条件存储于订阅队列控制模块中。订阅触发条件可以是定时触发的,按照预定的时间周期的触发,例如6小时、12小时、24小时等等,订阅触发条件还可以是按照条件触发的,例如用在线户数量满足条件则开启订阅触发等等。订阅触发条件中同样包含用户输入的请求信息、用户的身份验证信息,例如用户的ID,密码,用户权限和等级等等,订阅请求内容必须与用户ID所对应的权限匹配,否则订阅会收到限制。例如,订阅激活指令必须在客户登录之后才可以进行的,如果用户未登录则无法使用该功能。不同权限的订阅请求可能会具有不同的限制,例如订阅数据发送的频次、订阅内容的条目数,高级用户可以接收的数据频次更高、内容条目数更多,而低权限用户则在某些功能上收到限制。
安全日志模块,执行步骤S420,用于对所述订阅信息进行安全验证,若通过所述安全验证,生成安全日志记录,并向邮件生成模块发送所述订阅信息。
安全日志模块包括权限验证子模块、内容验证子模块和结果验证子模块;权限验证子模块用于对订阅信息的权限进行验证;内容验证子模块用于对订阅信息的内容进行验证;结果验证子模块用于对订阅信息的结果进行验证。
安全日志模块接收所述订阅信息,并对所述订阅信息进行安全验证包括,对所述订阅信息的权限验证、对所述订阅信息的内容验证和对所述订阅信息的结果验证。对所述订阅信息的权限验证包括,根据用户登录的身份信息,通过数据权限表查询属于该订阅信息数据的结构化查询实例集合;或者,判断数据结构化查询实例集合是否属于该订阅信息。对所述订阅信息的内容验证包括,验证所述订阅信息中是否包含风险项,若是,则拒绝所述订阅信息。对所述订阅信息的内容验证包括,查询订阅信息中的查询间隔时间是否过短,若是,则拒绝所述订阅信息。对所述订阅信息的结果验证包括,查询订阅信息的结果行数是否超过预定阈值,若是,则拒绝所述数据查询请求。
在一个示例中,安全日志模块会对接收到的订阅信息进行解析,对订阅信息中包含的用户权限进行验证,若用户权限与订阅信息相匹配,则说明用户具有订阅对应数据的权限,安全日志模块将对订阅请求予以放行,安全日志记录模块会对查询请求进行安全日志记录,将该订阅请求进行记录。安全日志模块根据用户身份信息(staff_id),通过数据查询权限表(SMARTDATA_RIGHT)查询出属于该用户的数据查询实例集合(SMARTDATA_SQL)。或者,权限验证服务器直接判断数据查询实例集合(SMARTDATA_SQL)是否属于该用户。无论使用何种判断方法,在使用权限服务器对用户权限进行验证,并通过之后,即用户具有与发起请求相匹配的权限,订阅请求合法。
在一个示例中,安全日志模块对订阅信息进行安全验证主要包含三个方面:一、订阅请求中可能在存在SQL注入;二、订阅请求结果数过多带来的系统压力;三、是订阅结果防抵赖。对此,安全验证模块包含三个子模块来进行三个方面的验证,三个子模块分别为SQL防注入子模块、查询记录结果数判断模块、日志记录模块。示例性地,SQL防注入子模块用于防止用户数据查询命令中可能存在的SQL注入,该模块用于判断数据查询请求中是否包含风险项,当发现请求中包含风险项时,则所述请求中包含SQL注入风险,拒绝该数据查询请求、生成告警信息,然后将拒绝请求消息返回前端服务器,风险项可以是诸如插入(INSERT)、更新(UPDATE)、子句中搜索列中的指定模式(LIKE)。示例性地,查询记录结果数判断模块向数据库服务器发送数据请求,并判断返回的结果行数,当结果行数大于预定的结果行数阈值时,判断用户请求访问的结果行数过多,拒绝该数据查询请求、生成告警信息,然后将拒绝请求消息返回前端服务器。示例性地,日志记录模块会记录用户的IP,使用的查询功能、查询参数和得到的记录行数等信息到日志表和本地文件中,以防止用户对查询内容抵赖。不失一般性地,日志记录模块会将日志表和本地文件备份到数据库服务器。
邮件生成模块读取邮件模板,执行步骤S430,根据所述订阅信息生成超文本邮件信息和结构化查询语言,并将所述结构化查询语言发送至数据库服务模块。
邮件生成模块接收到来自日志记录模块的订阅信息后,会读取邮件模板,邮件模板至少包含邮件的标题,收件人,发件人,抄送人地址,密送人地址,邮件附件,邮件正文,在邮件正文部分还包含邮件签名档和插件等信息。例如,邮件模板可以由HTML语言构成,通过HTML语言实现邮件模板中各个项目的生成。
在邮件生成模块接收到订阅信息之后,除根据订阅信息生成超本文邮件信息外,还根据订阅信息中所要查询的内容形成结构化查询语言。
在一个示例中,构造结构化查询语句包括构造数据切换方式的查询语句,数据库查询实现的关键在于切换查询的目标数据库和进行数据查询,数据切换的方式是:根据数据表(SMARTDATA_SQL)中的目标数据(TARGET_DB)字段,去配置管理系统中获取对应的数据库连接字符串来打开数据库。如图1所示,作为用户需要的数据,并不是存储在一个数据库上,而是存储于多个数据库中(DB1,DB2,DB3,…),这些数据库可以是数据库服务器,也可以是基于云服务器的分布式服务器,既然需要在多个数据中查询数据,那么在查询时需要在多个数据库之间切换。为了实现在多个数据库进行查询,并且保证在数据查询时的账户安全和数据安全,利用数据库表中的目标数据库(TARGET_DB)字段来实现各数据库之间的切换。目标数据字段存储了一系列字符串值(PRODUCT_DB_1,PRODUCT_DB_2,…),在查询过程中,服务器并不使用用户名和密码进行查询,而是使用一个键值(Key)进行查询,查询与之对应的值(Value)所对应的字符串,然后根据这个字符串来打开对应的数据库进行内容的读写,从而实现在查询在不同服务器之间的切换。
在一个示例中,利用字符串查询是在数据库查询模块中完成的,例如,使用PRODUCT_DB_1在配置管理系统上查询,就可以得到一个数据库连接字符串,然后可以根据这个字符串来打开对应的数据库进行内容的读写操作。
数据库服务模块,执行步骤S440用于执行所述结构化查询语言,并将查询结果返回至所述邮件生成模块。
在一个示例中,数据库服务模块执行数据查询的方式是:把用户的输入用作绑定变量来参与查询,以进一步避免SQL注入。在某用户登录时,需要去数据库中检索其用户名和密码是否存在,此时有两种方式:
一种是拼接字符串,如select*from dt_users where name='用户名'and psw='密码'。
还有另一种方式是使用绑定变量:select*from dt_users where name=@p1andpsw=@p2。在上述语句中,绑定变量的方式是将用户输入的信息放在变量的位置进行搜索,如此绑定可以防止SQL注入风险。
邮件生成模块,执行步骤S450,还用于根据所述查询结果生成邮件附件,将所述邮件附件添加于所述邮件,并发送所述邮件。
请参考图10,其示出了本发明一个实施例提供的服务器的结构示意图。该服务器用于实施上述实施例中提供的后台服务器侧的数据查询方法。具体来讲:
所述服务器1200包括中央处理单元(CPU)1201、包括随机存取存储器(RAM)1202和只读存储器(ROM)1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。所述服务器1200还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。
所述基本输入/输出系统1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中所述显示器1208和输入设备1209都通过连接到系统总线1205的输入输出控制器1210连接到中央处理单元1201。所述基本输入/输出系统1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。所述大容量存储设备1207及其相关联的计算机可读介质为服务器1200提供非易失性存储。也就是说,所述大容量存储设备1207可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。
根据本发明的各种实施例,所述服务器1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1200可以通过连接在所述系统总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由终端的处理器执行以完成上述方法实施例中发送方客户端或接收方客户端侧的各个步骤,或者上述指令由服务器的处理器执行以完成上述方法实施例中后台服务器侧的各个步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述后台服务器侧的方法的指令,包括:
响应于订阅激活指令,生成订阅信息,并将所述订阅信息发送至安全日志模块;
对所述订阅信息进行安全验证,若通过所述安全验证,生成安全日志记录,并向邮件生成模块发送所述订阅信息;
读取邮件模板,根据所述订阅信息生成超文本邮件信息和结构化查询语言,并将所述结构化查询语言发送至数据库服务模块;
执行所述结构化查询语言,并将查询结果返回至所述邮件生成模块;
查询结果生成邮件附件,将所述邮件附件添加于所述邮件,并发送所述邮件。
应当理解的是,在本实施例中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以+通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (22)
1.一种数据订阅方法,其特征在于,所述方法包括如下步骤:
订阅队列控制模块响应于订阅激活指令,生成订阅信息,并将所述订阅信息发送至安全日志模块;
安全日志模块对所述订阅信息进行安全验证,若通过所述安全验证,生成安全日志记录,并向邮件生成模块发送所述订阅信息;
邮件生成模块读取邮件模板,根据所述订阅信息生成超文本邮件信息和结构化查询语言,并将所述结构化查询语言发送至数据库服务模块;
所述数据库服务模块执行所述结构化查询语言,并将查询结果返回至所述邮件生成模块;
所述邮件生成模块根据所述查询结果生成邮件附件,将所述邮件附件添加于所述邮件,并发送所述邮件。
2.根据权利要求1所述的方法,其特征在于,所述订阅激活指令包括用户发送的订阅请求和订阅队列控制模块预设的订阅触发条件中的中的至少一个。
3.根据权利要求1所述的方法,其特征在于,安全日志模块接收所述订阅信息,并对所述订阅信息进行安全验证包括,对所述订阅信息的权限验证、对所述订阅信息的内容验证和对所述订阅信息的结果验证。
4.根据权利要求3所述的方法,其特征在于,对所述订阅信息的权限验证包括,根据用户登录的身份信息,通过数据权限表查询属于该订阅信息数据的结构化查询实例集合;或者,判断数据结构化查询实例集合是否属于该订阅信息。
5.根据权利要求3所述的方法,其特征在于,对所述订阅信息的内容验证包括,验证所述订阅信息中是否包含风险项,若是,则拒绝所述订阅信息。
6.根据权利要求3所述的方法,其特征在于,对所述订阅信息的内容验证包括,查询订阅信息中的查询间隔时间是否过短,若是,则拒绝所述订阅信息。
7.根据权利要求3所述的方法,其特征在于,对所述订阅信息的结果验证包括,查询订阅信息的结果行数是否超过预定阈值,若是,则拒绝所述数据查询请求。
8.根据权利要求1所述的方法,其特征在于,所述邮件生成模块根据所述查询结果生成邮件附件之后,将订阅消息发送至摘要生成模块,摘要生成模块根据订阅消息中的预设字段,判断是否生成摘要,若生成摘要,所述摘要生成模块将摘要发送至邮件服务器;所述邮件服务器将摘要添加于超文本邮件信息中。
9.根据权利要求1所述的方法,其特征在于,所述邮件生成模块根据所述查询结果生成邮件附件之后,将订阅消息发送至图表生成模块,图表生成模块根据订阅消息中的预设字段,判断是否生成图表,若生成图表,所述图表生成模块将图表发送至邮件服务器;所述邮件服务器将图表添加于超文本邮件信息中。
10.根据权利要求1所述的方法,其特征在于,所述数据库服务模块执行所述结构化查询语言步骤包括:
接收订阅信息中的查询条件和数据结构化查询语言;
根据目标数据库配置表获取数据库连接字符串;
根据订阅信息的查询条件和结构化查询语言构造一个使用绑定变量的结构化查询语言命令;
根据数据库连接字符串,打开目标数据库,使用结构化查询语言命令进行查询;
关闭数据库,返回所述查询结果。
11.一种数据订阅装置,其特征在于,所述装置包括如下模块:
订阅队列控制模块,用于响应订阅激活指令,生成订阅信息,并将所述订阅信息发送至安全日志模块;
安全日志模块,用于对所述订阅信息进行安全验证,若通过所述安全验证,生成安全日志记录,并向邮件生成模块发送所述订阅信息;
邮件生成模块读取邮件模板,根据所述订阅信息生成超文本邮件信息和结构化查询语言,并将所述结构化查询语言发送至数据库服务模块;
数据库服务模块,用于执行所述结构化查询语言,并将查询结果返回至所述邮件生成模块;
邮件生成模块,还用于根据所述查询结果生成邮件附件,将所述邮件附件添加于所述邮件,并发送所述邮件。
12.根据权利要求11所述的装置,其特征在于,所述订阅队列控制模块包括,订阅请求接收子模块、订阅触发存储子模块和响应子模块;所述订阅请求接收模块用于接收订阅激活指令;所述订阅激活预存模块,用于存储预设定的订阅激活指令;响应子模块,用于响应订阅激活指令。
13.根据权利要求12所述的装置,其特征在于,安全日志模块包括权限验证子模块、内容验证子模块和结果验证子模块;权限验证子模块用于对订阅信息的权限进行验证;内容验证子模块用于对订阅信息的内容进行验证;结果验证子模块用于对订阅信心的结果进行验证。
14.根据权利要求13所述的装置,其特征在于,对所述订阅信息的权限验证包括,根据用户登录的身份信息,通过数据权限表查询属于该订阅信息数据的结构化查询实例集合;或者,判断数据结构化查询实例集合是否属于该订阅信息。
15.根据权利要求13所述的装置,其特征在于,对所述订阅信息的内容验证包括,验证所述订阅信息中是否包含风险项,若是,则拒绝所述订阅信息。
16.根据权利要求13所述的装置,其特征在于,对所述订阅信息的内容验证包括,查询订阅信息中的查询间隔时间是否过短,若是,则拒绝所述订阅信息。
17.根据权利要求13所述的装置,其特征在于,对所述订阅信息的结果验证包括,查询订阅信息的结果行数是否超过预定阈值,若是,则拒绝所述数据查询请求。
18.根据权利要求11所述的装置,其特征在于,所述装置还包括摘要生成模块,用于根据订阅消息中的预设字段,判断是否生成摘要,若生成摘要,所述摘要生成模块将摘要发送至邮件服务器;所述邮件服务器将摘要添加于超文本邮件信息中。
19.根据权利要求11所述的方法,其特征在于,所述装置还包括图表生成模块,用于根据订阅消息中的预设字段,判断是否生成图表,若生成图表,所述图表生成模块将图表发送至邮件服务器;所述邮件服务器将图表添加于超文本邮件信息中。
20.根据权利要求11所述的装置,其特征在于,所述数据库服务模块包括如下子模块:
接收子模块,用于接收订阅信息中的查询条件和数据结构化查询语言;
连接字符串获取子模块,用于根据目标数据库配置表获取数据库连接字符串;
结构化查询子模块,用于根据订阅信息的查询条件和结构化查询语言构造一个使用绑定变量的结构化查询语言命令;
数据库查询子模块,用于根据数据库连接字符串,打开目标数据库,使用结构化查询语言命令进行查询;
查询结果子模块,关闭数据库,返回所述查询结果。
21.一种服务器,包括权利要求11-20之一所述的装置。
22.一种数据订阅系统,包括权利要求11-20之一所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710139632.XA CN108574620B (zh) | 2017-03-09 | 2017-03-09 | 一种数据订阅方法、装置、服务器以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710139632.XA CN108574620B (zh) | 2017-03-09 | 2017-03-09 | 一种数据订阅方法、装置、服务器以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108574620A true CN108574620A (zh) | 2018-09-25 |
CN108574620B CN108574620B (zh) | 2022-04-19 |
Family
ID=63577972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710139632.XA Active CN108574620B (zh) | 2017-03-09 | 2017-03-09 | 一种数据订阅方法、装置、服务器以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108574620B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110889068A (zh) * | 2019-10-23 | 2020-03-17 | 北京达佳互联信息技术有限公司 | 一种辅助查阅日志的方法、装置及电子设备 |
CN111047341A (zh) * | 2018-10-15 | 2020-04-21 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置、服务器及终端设备 |
CN111858232A (zh) * | 2020-06-03 | 2020-10-30 | 华人运通(江苏)技术有限公司 | 基于DevOps平台的信息交互系统及方法 |
CN112182340A (zh) * | 2019-07-01 | 2021-01-05 | 中国移动通信集团浙江有限公司 | 物联网信息查询方法、订阅方法、装置及电子设备 |
CN112667928A (zh) * | 2020-12-11 | 2021-04-16 | 北京中数创新科技股份有限公司 | 一种基于Handle系统的前缀及标识数据安全订阅方法及系统 |
CN112733001A (zh) * | 2021-01-14 | 2021-04-30 | 上海蓝云网络科技有限公司 | 获取订阅信息的方法、装置和电子设备 |
CN113297178A (zh) * | 2021-05-31 | 2021-08-24 | 中国民航信息网络股份有限公司 | 一种航空产品数据处理方法及相关设备 |
CN113468246A (zh) * | 2021-07-20 | 2021-10-01 | 上海齐屹信息科技有限公司 | 一种基于oltp的智能数据统计及订阅系统及方法 |
CN113609162A (zh) * | 2021-07-14 | 2021-11-05 | 远景智能国际私人投资有限公司 | 操作记录的查询方法、装置、服务器及存储介质 |
CN113837636A (zh) * | 2021-09-29 | 2021-12-24 | 平安养老保险股份有限公司 | 业务数据获取方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100100731A1 (en) * | 2008-10-22 | 2010-04-22 | Research In Motion Limited | Pushing certificate chains to remote devices |
US20100325220A1 (en) * | 2009-06-23 | 2010-12-23 | James Skinner | Systems and Methods for Subscribing to an Information Feed |
CN101997732A (zh) * | 2009-08-14 | 2011-03-30 | 华为技术有限公司 | 业务查询方法、装置及系统 |
CN103500396A (zh) * | 2013-09-18 | 2014-01-08 | 北京思特奇信息技术股份有限公司 | 一种自动生成文件并发送邮件的方法及系统 |
CN104243532A (zh) * | 2013-06-21 | 2014-12-24 | 鸿富锦精密工业(深圳)有限公司 | 数据访问方法及系统 |
CN105160036A (zh) * | 2015-09-30 | 2015-12-16 | 广州市经济贸易信息中心 | 一种企业非银信息查询方法 |
CN105430010A (zh) * | 2015-12-25 | 2016-03-23 | 北京奇虎科技有限公司 | 提供服务器信息的查询服务的方法和装置 |
CN106156147A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种基于大数据分析的报告发送方法、装置及系统 |
CN106372469A (zh) * | 2016-08-19 | 2017-02-01 | 上海宝尊电子商务有限公司 | 基于流程的满足国际审计标准的数据库权限自动化管理体系 |
-
2017
- 2017-03-09 CN CN201710139632.XA patent/CN108574620B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100100731A1 (en) * | 2008-10-22 | 2010-04-22 | Research In Motion Limited | Pushing certificate chains to remote devices |
US20100325220A1 (en) * | 2009-06-23 | 2010-12-23 | James Skinner | Systems and Methods for Subscribing to an Information Feed |
CN101997732A (zh) * | 2009-08-14 | 2011-03-30 | 华为技术有限公司 | 业务查询方法、装置及系统 |
CN104243532A (zh) * | 2013-06-21 | 2014-12-24 | 鸿富锦精密工业(深圳)有限公司 | 数据访问方法及系统 |
CN103500396A (zh) * | 2013-09-18 | 2014-01-08 | 北京思特奇信息技术股份有限公司 | 一种自动生成文件并发送邮件的方法及系统 |
CN106156147A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种基于大数据分析的报告发送方法、装置及系统 |
CN105160036A (zh) * | 2015-09-30 | 2015-12-16 | 广州市经济贸易信息中心 | 一种企业非银信息查询方法 |
CN105430010A (zh) * | 2015-12-25 | 2016-03-23 | 北京奇虎科技有限公司 | 提供服务器信息的查询服务的方法和装置 |
CN106372469A (zh) * | 2016-08-19 | 2017-02-01 | 上海宝尊电子商务有限公司 | 基于流程的满足国际审计标准的数据库权限自动化管理体系 |
Non-Patent Citations (1)
Title |
---|
陈敏等: "数据库恶意事务恢复日志系统", 《计算机工程》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111047341B (zh) * | 2018-10-15 | 2023-05-30 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置、服务器及终端设备 |
CN111047341A (zh) * | 2018-10-15 | 2020-04-21 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置、服务器及终端设备 |
CN112182340A (zh) * | 2019-07-01 | 2021-01-05 | 中国移动通信集团浙江有限公司 | 物联网信息查询方法、订阅方法、装置及电子设备 |
CN112182340B (zh) * | 2019-07-01 | 2024-06-07 | 中国移动通信集团浙江有限公司 | 物联网信息查询方法、订阅方法、装置及电子设备 |
CN110889068A (zh) * | 2019-10-23 | 2020-03-17 | 北京达佳互联信息技术有限公司 | 一种辅助查阅日志的方法、装置及电子设备 |
CN111858232A (zh) * | 2020-06-03 | 2020-10-30 | 华人运通(江苏)技术有限公司 | 基于DevOps平台的信息交互系统及方法 |
CN112667928A (zh) * | 2020-12-11 | 2021-04-16 | 北京中数创新科技股份有限公司 | 一种基于Handle系统的前缀及标识数据安全订阅方法及系统 |
CN112667928B (zh) * | 2020-12-11 | 2024-05-24 | 北京中数创新科技股份有限公司 | 一种基于Handle系统的前缀及标识数据安全订阅方法及系统 |
CN112733001B (zh) * | 2021-01-14 | 2023-09-29 | 上海蓝云网络科技有限公司 | 获取订阅信息的方法、装置和电子设备 |
CN112733001A (zh) * | 2021-01-14 | 2021-04-30 | 上海蓝云网络科技有限公司 | 获取订阅信息的方法、装置和电子设备 |
CN113297178B (zh) * | 2021-05-31 | 2024-04-02 | 中国民航信息网络股份有限公司 | 一种航空产品数据处理方法及相关设备 |
CN113297178A (zh) * | 2021-05-31 | 2021-08-24 | 中国民航信息网络股份有限公司 | 一种航空产品数据处理方法及相关设备 |
CN113609162A (zh) * | 2021-07-14 | 2021-11-05 | 远景智能国际私人投资有限公司 | 操作记录的查询方法、装置、服务器及存储介质 |
CN113609162B (zh) * | 2021-07-14 | 2023-09-26 | 远景智能国际私人投资有限公司 | 操作记录的查询方法、装置、服务器及存储介质 |
CN113468246A (zh) * | 2021-07-20 | 2021-10-01 | 上海齐屹信息科技有限公司 | 一种基于oltp的智能数据统计及订阅系统及方法 |
CN113837636A (zh) * | 2021-09-29 | 2021-12-24 | 平安养老保险股份有限公司 | 业务数据获取方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108574620B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108574620A (zh) | 一种数据订阅方法、装置、服务器以及系统 | |
CN111026798B (zh) | 一种机电设备数据库系统及其控制方法 | |
US20050281276A1 (en) | Data analysis and flow control system | |
US8230348B2 (en) | Collaboration software with real-time synchronization | |
US6829333B1 (en) | Automated system for messaging based on chains of relationships | |
US9501744B1 (en) | System and method for classifying data | |
US9390240B1 (en) | System and method for querying data | |
US7512662B2 (en) | System and method for user registry management of messages | |
CN108572968A (zh) | 一种数据查询方法、装置、服务器以及系统 | |
US8180789B1 (en) | Techniques for query generation, population, and management | |
CN102982049B (zh) | 实现电子邮件收件人模板的方法和系统 | |
CN103458384B (zh) | 一种企业短信息发送系统及方法 | |
WO2006078683A2 (en) | Automated response to solicited/unsolicited communications and collection and management of data extracted therefrom | |
US10754901B2 (en) | Analytics of electronic content management systems using a staging area database | |
US9641555B1 (en) | Systems and methods of tracking content-exposure events | |
CN110413485A (zh) | 一种基于Zabbix开源平台的一站式网络监控管理系统与方法 | |
CN114143282A (zh) | 邮件处理方法、装置、设备及存储介质 | |
CN111199028A (zh) | 资源信息访问方法、装置、计算机设备和存储介质 | |
US20130247208A1 (en) | System, method, and computer program product for preventing data leakage utilizing a map of data | |
US20070208698A1 (en) | Avoiding duplicate service requests | |
DE112013001175T5 (de) | Erzeugen von elektronischen Stammbäumen | |
CN112364957A (zh) | 一种智慧档案柜的管理系统及智慧档案柜 | |
WO2019227572A1 (zh) | 基于关联拓扑图的协同办公处理方法、装置、设备及介质 | |
US20090183185A1 (en) | Declarative and Extensible Process Definition | |
CN107742179B (zh) | Erp系统中的用户提醒方法、装置、存储介质和计算机设备 |
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 |