时刻查询

2024-05-08

时刻查询(精选12篇)

时刻查询 篇1

摘要:针对当前面向连续查询的查询索引不适应查询动态变化的问题,提出一种能承受频繁更新的动态连续查询索引。为实现该索引,设计一种基于网格和树的索引结构,该索引结构继承了网格结构的高效更新性能的优点,并通过继承树的特性,克服网格结构高空间开销的问题。实验结果表明,该连续查询索引比基于网格的连续查询索引节省空间开销约一个数量级;比基于树的连续查询索引更新效率提高约70%,查询性能提高约25%。

关键词:动态连续查询,查询索引,更新性能

0 引言

随着传感网、物联网、车联网等新兴信息技术的发展,产生了海量的实时流数据,如何建立流数据管理系统进而有效管理流数据是当前数据管理领域的研究热点之一[1]。在流数据管理系统中,流数据的有效监控是其主要功能之一[2]。连续查询是一种有效监控流数据的方法,其基本原理是将流数据的监控条件定义为查询,向流数据管理系统注册。之后,随着流数据的不断变化,系统连续地将匹配查询的数据结果返回给系统进行监控[3]。例如,在一个城市车联网交通管理系统中,需要对城市特定道路上的车辆密度状态的跟踪,可通过预先设定多个范围查询并注册到系统中来表示需要监控的区域。之后,系统实时接收车辆的GPS定位流数据,并随时间连续执行多个范围查询,统计不同区域内的车辆密度,为交通管理决策提供支撑信息[4]。

根据上述描述可知,在流数据管理系统中,多个连续查询需要随流数据的不断地被执行,故,如何高效执行连续查询一直以来是一个开放性问题[5]。在过去几十年中,大量研究工作关注利用索引来优化连续查询的执行过程,这些研究工作主要集中在两个方面: 面向流数据的索引和面向查询集合的索引。由于相对于流数据,查询集合数据规模较小且更新不频繁,查询索引能够避免昂贵的索引维护开销[6]。因此,查询索引是主流的连续查询的优化方法。查询索引主要分为两类: 基于网格的索引结构[7,8]和基于树的索引结构[9,10]。两类索引有各自的优缺点,基于网格的索引更新效率更高但空间开销巨大,而基于树的索引空间开销小但更新效率较差。

近年来,随着流数据应用的快速发展,连续查询优化面临新的挑战。过去,连续查询是静态的,查询一旦注册到流数据管理系统中后就不会变化,直到超时。而如今,在移动对象跟踪应用中,每个查询与一个移动对象相关联,由于移动对象会频繁改变查询请求,连续查询会动态地被频繁更新。例如,移动中的计程车会不断地发送不同范围值的连续范围查询给呼叫中心以发现周围的打车客户。故,当前面向连续查询的查询索引要求能处理动态的连续查询[11]。然而,传统的连续查询索引无论是基于网格的还是基于树的都没有考虑查询的动态性问题。针对上述问题,基于一种自适应数据的网格结构[12]和一种树结构KDB树[13],本文提出一种面向动态连续查询的混合查询索引结构,被称为GRID-KDB树。GRID-KDB树结合了自适应网格和KDB树的优点,能够适应动态连续查询所导致的索引频繁更新,并且比网格索引占有更低的空间开销。注意,本文连续查询类型是范围查询,应用于其他类型的查询方式是直接的。

1 相关工作

在过去的几十年中,大量的研究工作已经关注如何利用索引技术来处理连续查询。这些工作主要分为两类: 数据索引和查询索引。数据索引利用不同的索引结构直接索引流数据本身来获取连续查询结果。比如,R树[14]和TPR树[15]被用于索引移动对象的位置信息已支持当前和近未来连续查询。再如,一个自适应网格结构[12]被用于划分索引空间以存储移动对象的轨迹数据以支持连续查询。但是,频繁的流数据更新导致数据索引的高维护开销是一个亟待解决的问题。相对流数据,查询更新频率要低,查询索引能避免昂贵的索引维护操作。另外,由于查询结合比数据集合小得多,查询索引能常驻内存,能更快速地查询流数据[7]。

查询索引分为两大类: 基于树结构和基于网格结构。基于树结构的查询索引利用R树和它的变种来组织查询数据。比如,Prabhakar等提出了一种基于R*树的查询索引来监控移动对象[10]。但是,这类索引的中间索引节点存在重叠,导致多路从根节点到叶子节点的查询路径,进而影响海量流数据的查询性能。另外,树型结构的索引不适应频繁的数据更新。最近,一些无节点重叠问题的树型结构被用于索引连续查询,如KDB树[9]。但是,KDB树依然有更新开销大的问题。而基于网格的查询索引利用网格结构[7,8]划分索引空间为多个等尺度的网格单元来组织查询数据。相对树索引,网格索引有更好的更新性能,但是其空间开销非常巨大。

不同于已有的查询索引,本文提出的GRID-KDB树查询索引继承了树索引和网格索引的优点,实现高更新效率、低空间开销的新型索引结构。

2 GRID-KDB树结构构建

基于一种数据自适应的网格[12]和KDB树[13],设计GRIDKDB树索引以支持连续查询。GRID-KDB树的构建过程包含两个阶段: 网格构建和树构建。

2. 1 网格部分构建

在这个阶段,范围查询数据被平均分布到一组网格单元中。假设查询集合为Q,每个网格单元存储的最大查询数据数目为T。基于文献[12]中的数据索引自适应策略,当一个网格单元存储的查询数据索引数目超过T,该网格被进一步划分为g个等尺度的子网格单元,该过程递归执行,直到任意网格单元中的索引数目到不超过T为止。例如,图1 中,10 个查询数据被网格结构索引,T = 4,g = 4。一开始,所有数据在一个网格空间中,对网格空间进行划分,产生C1、C2、C3和C4四个子网格单元。10 个查询数据被插入到这四个网格中,当出现查询范围与多个网格单元有重叠时,将这些查询被划分,并插入多个网格中。例如,图1中的查询数据D4,被划分成四个子查询并分别插入到C1、C2、C3和C4中。接下来,由于C1中包含了6 个数据项,大于T,故C1被继续划分为C1,1、C1,2、C1,3、C1,4。由于再次划分后,任何网格单元中的索引数目都没有超过4,构建结束。

根据上述构建过程,可以看到为了利用网络来索引数据,网格单元和子网格单元需要被有效编码。由于所给出的网络索引是一个层次化的结构,故假设r为一个网格单元所在的层数,则一个网格单元编码能被表示CL1,L2,…,Lr,其中Li( i ∈ [1,r - 1])是包含该网格的双亲以及祖先网格的编码值,而Lr表示该网格所在层的编码。比如,在图1 中,子网格单元的编码C1,2的产生如下: 首先检查它的双亲所在层的编码为C1,也就是得到L1 =1,之后,它所在层的编码L2 的值被判断为2。

2. 2 树部分构建

在完成网格索引构建过程中,一个查询数据根据网格单元或子网格单元的边界可能会被划分成多个子查询,如查询数据D4。这产生大量索引项并导致高空间开销。为了避免该问题,利用大尺度的网格单元,这样可减少查询数据被划分的可能。但这样会导致一个网格中索引数目的增加,查询效率随索引数目的线性增加,由于网格单元中的索引数据的传统组织结构是数组或链表[7]。故,本文利用KDB树组织每个网格单元中的查询数据以提高网格内的索引查询效率。选择KDB树的原因在于它四一种无节点重叠的树,因而可提供单路径查询。另外,KDB树已被成功用于构建连续查询索引[9]。KDB树包含两类节点: 中间节点和叶子节点。每个中间节点对应一个索引空间区域和最多M个索引项对应M个孩子节点。每个索引项包含一个孩子节点的索引区域和指向该孩子节点的指针。一个中间节点中的所有索引项的空间区域是不重叠的,且其组合是该节点的索引空间。每个叶子节点存储了最多m个数据项。文献[9]中的数据插入算法被利用来构建KDB树。

图2 解释了GRID-KDB树的树结构构建过程。在图2 中,10 个范围查询数据被索引到7 个网格单元之后,在C1,2中的D3、D5、D6 和D7 形成一棵KDB树。注意,根据文献[9]的插入算法,由于在建树过程中,D3 跨越了两个叶子节点,故叶子节点1 和叶子节点2 均存储D3。注意,图2 中除了C1,2以外,其他单元格中也产生KDB树,为了简单说明,没有给出。

3 GRID-KDB树查询和更新算法

基于构建的GRID-KDB树,提出相应的数据查询算法和索引更新算法。

3. 1 查询算法

假设在一个N维索引空间中,基于一组查询数据Q ,构建了一个GRID-KDB树,GK。对于一组特定时刻的流数据S ,利用GK,获得查询结果RS( Q) 。该连查询过程通过算法1 描述。

算法1 基于GRID-KDB树的查询

在算法1 中,某个时刻下,一个流数据集合通过GRID-KDB树索引,得到满足被索引的连续查询集的流数据。该查询过程主要分为三步:

第一步定位到包含s的网格单元。由于本文提出的网格是一种层次的网格结构,每个单元被编码为CL1,L2,…,Lr( 详见2. 1节网格部分构建) ,故需要O( r) 的时间开销定位网格单元;

第二步在第一步定位到的网格所包含的KDB树中查找包括s的叶子节点。该步骤的时间复杂度取决于该KDB树的高度。下面理论推导树高度H的值,假设该KDB树中存储了T个索引项,一个叶子节点中最大容量为m ,则KDB树的第H层叶子节点数目; 进一步假设KDB树的中间节点的容量为M ,则KDB树的第H - 1 层的中间节点数NUMH -1= NUMleaf/ M 。 依次类推,KDB树的第1 层的中间节点数NUM1= NUMleaf/ MH -1,由于第1 层的中间节点数为1,则,可知MH -1= NUMleaf,也就是。故,该步的时间开销为;

第三步在第二步中找到的叶子节点中,遍历查询结果。由于,每个叶子节点的最大容量为m,则该步时间开销为O( m) 。

综合上述理论分析,故针对一流数据集S的连续查询的时间开销为。

3. 2 更新算法

为来适应动态连续查询数据的实时变化,给出GIRD-KDB树的更新算法。假设GK为一个GIRD-KDB查询索引,q和q'分别为存储在GK中的原查询数据和它的更新查询数据。

算法2 GRID-KDB树的更新

根据算法2 可知,更新过程包含两个步骤: 1) 查找并删除原有的q; 2) 插入新的数据q'。在步骤1 中,假设q覆盖的网格数为| CS | ( 见算法2,S1) 和在一个网格单元的KDB树中覆盖的叶子节点数为| NS | ( 见算法2,S4) ,则步骤1 更新开销为2 ×| CS | × O( r) × | NS | ,其中O( r) 是定位到一个网格单元的时间开销,| NS | 是查找KDB树叶子节点的时间开销,2 表示一个查询操作和一个删除操作。在步骤2 中的更新开销类似步骤1( 区别是每次更新操作包括: 一个查询和一个插入) ,故步骤2的更新开销为2 ×| CS' | × O( r) ×| NS' | 。由于,GIRD-KDB树一次更新只涉及到整个索引的一部分网格单元,和网格单元中的KDB树,这样避免了传统基于树的索引的更新过程中,对整棵KDB树的更新,更新效率得以提高。

4 实验结果与分析

4. 1 实验准备

为了评估GRID-KDB树的性能,建立其试验平台如表1所示。

数据集: 流数据和查询数据集通过一个人工数据仿真器产生。该仿真器仿真移动对象在二维空间中的随机移动,周期性产生移动对象的定位坐标数据; 在查询数据方面,随机产生不同尺度的正方形范围查询。

4. 2 空间开销评估

在该实验中,随机产生N个范围查询数据,比较GRID-KDB树与基于GRID的索引[7]和KDB树的空间开销。其中GRIDKDB树中的网格单元的最大索引容量为1000,KDB树的M =12,m = 21 ; 而GRID的参数参见文献[7]。实验结果如图3 所示,随着查询数据N的不断增加,GRID-KDB树索引大约只占GRID索引开销的十分之一。因为GRID索引是更加查询数据,划分出大量的小尺度的GRID单元,这造成大量单元格的空间开销,而GRID-KDB树用较大的GRID单元格结合单元格内的KDB树,避免了大量GRID单元格的产生。另外,GRID-KDB树的空间开销高于KDB树5% ,因为对于KDB树,GRID-KDB树的有额外的网格索引开销。

4. 3 更新性能评估

在该实验中,基于数目为50 000 的查询数据集Q ,分别建立GRID-KDB树和KDB树,并对两个建立的索引进行更新操作。一个更新操作可分为删除和插入两部分。通过更新带来的时间开销来衡量索引的更新性能。更新的数据规模占Q的百分比P是可变的从10% 到50% 。图4 中的实验结果显示,GRIDKDB树的更新效率高出KDB树70% 左右,这是因为KDB树的更新需要对整棵树进行查询和维护,导致大量的索引节点和数据的更新。而GRID-KDB本质上是一棵分布式的KDB树,更新操作只是涉及整个KDB树的一部分,大大降低了数据更新的时间开销。另外,GRID-KDB树的更新开销与GRID的相当,因为GRID更新中的定位到网格单元开销小,但每个网格中的大量数据是由多个线性链表组成,找到删除数据的开销较大; 而GRID-KDB树更新中的定位到树单元中的数据时执行多叉查询,定位开销相对小,但存在较高的节点分裂、合并开销。

4. 4 查询性能评估

在本试验中,检测KDB树、GRID和GRID-KDB树过滤流数据以得到连续查询结果的查询时间。与更新试验相同,首先基于查询数据Q ,建立KDB树、GRID和GRID-KDB树,然后,分别对N个流数据进行查询,N的取值范围是从100 到500 K。图5中的试验结果反映出GRID-KDB树的查询性能比KDB树高出25% 左右。其原因在于,GIRD-KDB树能首先以O( 1) 的时间效率定位到可能包含查询结果的网格单元,并继续在一棵KDB子树中查询,而KDB树需要对整棵树进行路由。另外,GRID-KDB也略好于GRID,其原因与更新开销中的原因相同。

5 结语

针对当前的连续查询索引面对查询动态性变化时,更新效率低下的问题,本文设计一种基于网格和树的新型连续查询索引———GRID-KDB树。GRID-KDB树通过继承GRID和KDB树的优点,能够高效地适应频繁的查询数据的变化,同时保证一个低的空间开销。实验结果表明,基于GRID-KDB树的索引比基于GRID索引节省空间开销约一个数量级; 比基于KDB树的索引更新效率提高约70% ,查询性能提高约25% 。未来工作主要集中在利用并行计算技术进一步提高GRID-KDB树的性能。

时刻查询 篇2

社保网上查询很方便,不用我们跑到当地的社保局去查了,这样跑去查也很麻烦,如今的人们只需快速动几下电脑即可。此方法不但省话费,还可以省时间呢,在百度首页搜索“社保查询个人账户”搜索。

点击下面链接,进入全国社保查询个人账户平台进行查询。

在新界面找到最上方的导航栏,点一下“社保查询”,

或者直接在页面上点一下自己所在省份,也可进入本省的社保查询导航页面进行查询就好。

这时会跳出一个新的界面,显示最醒目的提示图标:养老保险、医疗保险、公积金查询等信息,根据自己想要查询来进行即可。

社保个人账户

社保个人帐户是指社会保险经办机构按照国家技术监督局发布的社会保障号码为每一个参加社会养老保险的人员建立,记录单位按规定划转的养老保险费和个人缴纳的全部养老保险费,作为参加社会养老保险的人员退休时计发个人帐户养老保险金的依据。

分类

社保个人账户:独立自然人在当地社保

社保卡中心开办的个人名义的以社会保险为福利待遇的个人账户号。社保个人账户分为:医疗账户、养老账户。其他的包括(生育、工伤、失业等皆存于社保中心。)

查询说明

个人账户查询(包括第一次查询人员),请使用初始密码1234查询(请立即修改),原网站个人账户查询密码失效。

养老保险查询在各城区社保所参加职工社会养老保险的在职或企业离退休(职)人员。

养老保险问题1、身份证号码重复:1) 一人多帐户。产生原因主要为职工未及时办理个人账户转移或续保手续。请及时与参保地的社会保险经办机构联系,办妥个人账户转移、合并手续。2) 身份证号码重复。发现此类问题,请与参保地的社会保险经办机构或最后办理中断手续的社会保险经办机构联系。确系本人身份证号码重复的,请到公安户籍中心申请变更身份证号码。3) 用人单位申报时填写错误或社会保险经办机构工作人员录入错误。发现此类问题,请携带本人身份证及身份证复印件到参保地社会保险经办机构办理更正手续。2、提示未进入本系统或身份证不存在或银行帐号不存在:1) 身份证号码或银行帐号输入错误。2) 属于查询范围以外人员。3) 身份证号码与系统中记录的身份证号码不一致。4) 更换银行帐号,但未到相关的社会保险经办机构办理账号更改手续。5) 变更了身份证号码,但未到相关的社会保险经办机构办理身份证号码更改手续。6) 属于本市机关、事业单位职工。7) 属于港澳台地区或其它外籍员工。[1]

查询范围转入每年4月底之前的转入缴费年限反映在累计缴费年限中;每年5月以后的转入缴费年限不反映在累计缴费年限中。

数据的安全性公网与内部业务网络物理割断,您查询的养老保险账户非实时数据,系前二个月的信息。

注意事项

员工查询信息打印本人明细参保信息的,需提供身份证原件及社保卡原件(验原件,收复印件);员工委托他人查询本人参保信息的,需提供授权委托书原件、委托人身份证原件、委托人社保卡原件及受托人身份证原件(除授权委托书收原件,其余材料验原件,收复印件)。

单位查询信息打印本单位员工个人参保信息的,需提供盖有单位公章的查询证明材料及经办人的身份证原件(证明材料收原件,身份证验原件,收复印件.3、查询、打印个人参保明细清单属不收费业务

推荐阅读

社保热点业务问答

01

问:我是148号文转移人员,已到退休年龄但是缴费月数不够,可否补缴?

答:现在山东省出台了29号文,如果您符合补缴条件的话可以补缴。

补缴条件如下:

第一类:以个人身份补缴

一种是具有我市户籍,曾在我市机关、企事业单位、社会团体等有过工作经历,年龄要求为2014年12月31日前,男年满45周岁、女年满40周岁的人员,可凭有效原始材料,以个人身份补缴2011年6月30日(含)前应保未保或中断的企业职工基本养老保险费。

第二类:以单位形式补缴

我市企业职工中与单位存续劳动关系,因各种原因应保未保、中断缴费或欠费的,可补缴2011年6月30日(含)以前应保未保年限的企业职工基本养老保险费。其中,已超过法定退休年龄,从未缴纳职工基本养老保险的人员,不能以单位职工身份补缴。

符合以上条件的人员,请到户籍地社保部门咨询办理补缴等手续。咨询电话:66798091。

02

问:由于社平工资变动,个体及自由职业者2016年缴费标准是多少?该如何补缴?

答:由于新的社平工资调整,现将农商银行个体及自由职业者2016年缴费标准公布如下:

1、投保档次:60%,基数:2686元;

养老:537.20元/月,医疗:295.46元/月;合计实缴:832.66元/月。

2、投保档次:100%,基数:4476元;

养老:895.20元/月,医疗:492.36元/月;合计实缴:1387.56元/月。

注:由于社平工资变动,将进行2016年1-5月份的差额补收,请及时存足款额。

补缴方式:

1.由交通银行代扣代缴社会保险费的灵活就业人员,2016年6月当期缴费执行新标准,同时1-5月社会保险费基数调整差额要予以补缴,由银行代扣相关费用。

2.农商银行代扣代缴社会保险费的灵活就业人员,在7月5日前足额存款,由银行代扣7月份保险费及1―5月份基数调整差额。

3. 企业参保的职工,基数调整差额分为单位承担部分和个人承担部分,其中单位承担部分由原所在单位缴纳,个人承担部分,在职职工的由现单位代扣代缴。离职职工的由职工自行缴纳。

另外,2016年1-6月已经办理退休的人员,6月22日起,可到区行政审批服务大厅(城阳区山城路195号)一楼社保业务窗口(13至18号),补缴基数差额,足额缴费后,退休部门予以调整待遇。咨询电话66798091。

更多相关文章推荐:

1.社保查询个人账户查询方法

2.社保查询个人账户初始密码是什么?

3.深圳社保查询个人账户余额查询

4.2017年社保查询个人账户初始密码是多少?

5.深圳社保查询个人账户登入系统

6.北京社保查询个人账户缴费明细

7.2017年深圳社保查询个人账户缴费明细

8.2017杭州市民卡开通社保查询功能

9.2017农村社保查询方法

时刻查询 篇3

《赤血OL》故事描述人类通过基因操作创造出了新人类,但在地球形成废弃空洞化、迈向灭亡后,游戏世界呈现4个国家相互竞争的混沌年代。游戏设定4个国家分别为:拥有最悠久历史、却出现人类文明衰退危机的维多利亚;以同盟为主的库利泰;从维多利亚独立、以商业为主的年轻国家诺缪;长期以来以旧人类为神之仆人作为信念的神圣帝国珮拉杜利亚。

每个国家出身的角色,将有着极为明确的个性,玩家在游戏将扮演多样化的佣兵,设置家族与公会,来接受任务去探索旧人类所遗留下来的遗产与遗迹,并且介入各国家间的纠纷,让自己的国家成为大陆上最强大的国家。玩家可以创造家族、雇请佣兵,然后投入冒险中。玩家可以雇用多名佣兵,但一次只能操作一名佣兵、使用技能参与冒险。另外玩家将会有自己的住宅,玩家可以通过冒险取得各式各样的装饰物品,并拿来装饰住宅,成为跟外界炫耀的成就。

随机生成巨大挑战!

游戏中设有营地,玩家进入冒险阶段前需要全都会聚集在营地之中,并且在这里选择想要进入的冒险。当然营地也会有怪物来袭,而且营地除了会遭受攻击外,还有流浪商人等多样化活动元素出现,像这种营地的话,自然少不了供玩家使用的移动式仓库功能。不过营地始终不是新手村和主城,因此一切都会逐渐变化,这需要玩家逐渐适应!

另外根据玩家所选的冒险,游戏会自动随机生成地图。作为《赤血OL》的关键特色,自动化生成系统不仅是随机产生地图与地形,更融入了各种谜题与陷阱,包括上锁的门、升降的电梯、吊桥、脚踏石等。《赤血OL》中的地图将在更新改变的同时随机的地形也会出现,而不熟悉地形的玩家将面临更大的挑战。另外怪物的AI等系统也会随着地图的改变而改变。

结 语

笔者每当去坐地铁,路过附近的水果超市时,每次都能听到店里传出的音乐《THE MAS S》,而且一放就是一年,我都崩溃了!结果这次一进《赤血OL》台服官网,网站背景音乐居然又是这首《THE MASS》……吐血中!

时刻查询 篇4

急需的安全设备。随着我国铁路的快速发展,提速线路的不断增加及高速铁路的出现,对列车的控制技术有了进一步的要求,用于ATP的地面的信息需求量也大大提高。查询应答器系统是一种高速率,大信息量的实时数据传输设备,并且具有综合利用价值,广泛使用的基础通信信号设备,其发展潜力是巨大的,可以达到一次投入综合利用与综合服务的目的。查询应答器系统担当了车-地之间数据通信的主要任务,在ATP系统中将发挥日益重要的作用。本文将对查询应答器系统中的关键部件查询天线进行设计,主要对天线的驻波特性以及与应答器天线之间的传输特性进行分析设计。

(一)查询应答器系统结构及工作原理

查询应答器系统框图如图1所示, 该系统包括应答器、查询器天线、查询器主机等3个主要设备, 其中, 应答器属于地面设备, 查询器天线和查询器主机属于车载设备。查询应答器是一种原理上采用电磁感应原理构成的高速点式数据传输设备, 用于在特定地点实现机车与地面间的相互通信。安装于两根钢轨中心枕木上的地面的应答器不要求外加电源, 平时处于休眠状态, 仅靠接收查询器的功率而工作, 并能在接收查询功率的同时向查询器发送大量的调制编码信息。安装于机车底部的查询器不断向地面发送瞬态功率并在机车通过地面应答器时接收来自应答器的编码信息。车载主机除了向查询器发送瞬态功率信号外, 其主要任务是处理查询器接收到的来自应答器的高频调制编码信息。

天线系统的设计方案:按照天线的工作机制和系统的工作机制,天线包括两部分,包括应答器天线和查询天线。应答器安装在地面,要求其天线工作在三个频段,分别为4M, 9M和27M。查询器安装在火车上,其天线工作在两个频段,为9M和27M。其中,4M频段是用于将应答器的信息发送给查询器。9M频段是用于查询器向应答器传输信息,27M频段用于接收查询器天线辐射的能量,并通过整流电路把接收到的能量转化为直流能量,作为电源给应答器中的芯片供电。

从以上查询应答器系统工作原理可以看出,射频天线在系统中起到非常重要的作用,一方面它建立了一个稳定的磁场,这样才能获得足够的能量来使电路工作,另外通过天线传输携带有用信息的载波信号。天线的设计尤其重要,不仅要使天线在工作频带范围内阻抗特性良好,并且具有很好的传输特性。本次设计任务为查询应答器天线的设计,其具体的实际指标为:4MHz端口的带宽为1.2MHz, 3.6MHz~4.8MHz,带内驻波比ρ<3;27MHz端口的带宽为0.15MHz, 27.02MHz~27.195MHz,带内驻波比ρ<2。要求与应答器天线的传输效率要高,当两个天线中心距离相距为40cm时,在27.095MHz的频率下,传输损耗S21不小于-23dB。

(二)查询天线的设计

1. 天线结构

查询应答器系统是一小距离通信系统,因此我们采用工艺简单,成本低的环型天线。通过测试与分析,结合查询天线的功能,天线结构选取单环双频谐振天线,天线结构如图2所示。

图中的溃电端口,是功率输入端口。天线的长边为375mm,窄边为265mm,由于频率为30MHz以下,而本天线长度相对于1/4波长,是电小环天线,需要通过加载的电阻、电容(在图2中的加载处)以及阻抗匹配才可以达到设计指标。

2. 天线加载阻抗的确定

天线通过加载的方式,可以使天线达到设计频率范围内的阻抗匹配。但是加载电阻的阻值选择过大就会使辐射效率降低,造成查询器天线与应答器天线之间的传输损耗变大。因此需要通过实验得出一组最佳电阻加载方式。

在应答器天线设计的基础上,我们采用图3所示的测试方案,图中的磁环为电缆绕圈扼流式平衡器,起到平衡馈电的作用。按照图3放置设计好的应答器天线和未匹配好的查询天线,通过矢网测试出查询天线未匹配状态下的阻抗参数,把测试的结果导入到ADS软件中,然后对查询器天线的匹配网络进行优化设计。

加载电阻和电容会影响天线的阻抗特性和传输特性,我们通过测试,然后进行简单的电路匹配发现,调节加载电阻和电容的数值,天线的传输系数具有一个最佳数值,经过反复实验,我们确定加载方式为电阻和电容并联,电阻为5Ω,电容为3900pF。在确定了加载电路后,就可以对电路的匹配网络进行优化设计。

3. 匹配电路的设计

由于天线是双频谐振天线,因此匹配电路的设计必须综合考虑两个频段,我们采用的匹配电路形式如图4所示,在此电路中,电容C4主要起到对27MHz频段的信号进行谐振,L1, L2, C1, C2等元件,主要是对4MHz频段的信号进行匹配,C3, L3在此作为一个串连谐振电路,在27.095MHz频率下,是呈现高阻抗特性,起到阻隔27.095MHz信号的作用,这样可以使27.095MHz的能量全部流经电容C21进入发射天线,以提高天线的辐射效率。

通过仿真优化,最后制作测试,考虑到功率容量,使用寿命和Q值等因素,电路中的电容采用ATC电容,电感采用铜丝绕制电感。最后天线阻抗测试结果如图5,从图5可以看出在4MHz频率端口的带宽达到了1.36MHz,即3.53MHz~4.89MHz;27MHz端口的也有0.2MHz的带宽,中心频率在27.095MHz。达到了设计要求。

4. 传输损耗的测试

为了确保整个系统正常工作,我们必须确保查询天线和应答器天线在27.095M频率上,在一定距离上的传输系数S21≥-230.dB,才能使地面应答器把接收到能量转化为直流电压,提供给应答器中的芯片正常工作。按照图3的测试方案,我们测得两天线距离为400mm的时候,之间的传输系数为S21=-18.396dB,满足了设计要求,传输系数测试结果图如图6。在满足条件S21≥-230.dB的条件下,测试结果表明,天线的最大传输距离可以达到800mm,传输性能优越。

(三)总结

本文采用一种新型的匹配网络设计了高速铁路应答器查询系统中的关键部件查询应答器天线,设计天线满足天线设计指标,实现双频带工作,在两个频点满足阻抗和带宽要求,同时和应答器天线之间具有很好的传输特性,最大传输距离可以达到800mm,可以确保两者之间的正常通信。该天线结构简单,性能稳定,满足实际工程应用要求。

参考文献

[1]李向红, 李永善, 曹进.高速铁路中的查询应答器[J].铁道通信信号, 2004, 40 (10) , 5-7.

[2]杨志杰, 范浦辉, 薛瑞民, 梁亮, 钱路路.适应于高速运营与提速的查询应答器系统[J].中国铁道科学, 2002, 23 (2) , 42-47.

合肥公积金查询个人账户查询 篇5

登陆合肥住房公积金管理中心网站后点击网站主页上的导航栏《网上查询》,可以进入网上查询页面,再点击《个人用户查询》进入个人用户登录页面。按登录页面提示,可以先输入本人身份证信息登录查询(15位身份证或18位身份证都可以),初始密码为123456,登录成功后,点击左侧相应查询菜单可以进行相应查询;如果无法登录,有可能是职工个人身份证信息未申报,可以改用本人9位公积金个人帐号登录查询,不知本人公积金帐号可以咨询单位经办人;如果用本人9位公积金帐户还无法登录,可能是忘记登录查询密码,请与单位经办人联系。

(2)电话查询

合肥市住房公积金管理中心公积金查询电话:12329,可通过公积金帐号、15或18位身份证号、黄山卡卡号查询。 24小时自动语音查询:12329。

(3)现场查询

前往合肥住房公积金管理中心,在窗口办理个人账户查询业务。

(4)联名卡查询

那些静默的时刻 篇6

陪同一位领导去走访视察。对这个领导没什么了解,所以全程都是默然跟随,冷眼旁观。

到了一所聋哑学校。由于领导的到来,师生们都被集中到大礼堂,在校长用一番手语讲了开场白之后,下面响起热烈的掌声。这时,领导却举手示意大家安静,于是底下的孩子们全停止了鼓掌。只见领导飞快地比画着各种手势,让我们这些随从很是震惊。竟没人知道领导居然会用这么流利的手语。一时间全场寂然,虽然我看不懂他在讲些什么,可是从台下孩子們的眼神里,从老师们莹莹的目光中,还是让我读到了一种感动心灵的情绪。

领导讲完,全场没人鼓掌,只是维持着一种浸润心灵的宁静。那一刻,再看领导,就有了不同的感触。离开之后,我悄悄地询问一位老师,领导究竟讲了些什么,老师说:“领导说,孩子们,我知道你们生活在一个没有声音的世界,那么今天,就让我走进你们的世界。别奇怪我会手语,因为我的父母都是聋哑人。我曾那样深入过你们所处的世界,那里虽然安静沉默,可是却有我最真诚的爱!我的父母作为聋哑人,为了抚养我培养我。付出了更多的艰辛,他们是最伟大的人。我相信。你们将来也会成长为最伟大的人。感谢孩子们,让我再一次重回这个温暖的世界,让我重新感觉父母的爱。再让我在你们的世界里停留一会儿,我们谁也别弄出声音!”

回想那短短的静默的几分钟,心仍然震撼感动,那样无声无息的时候,我接近了一颗颗真诚而火热的心。

一个朋友的母亲去世,大家都去帮忙,安慰的话说了一大堆。朋友虽然神情平静,可是却掩盖不住眼中的那抹伤心与痛苦。和他是多年的知交,所以感同身受,心里也是沉重无比,只在人群外望着。

料理完后事之后。人们都散去,我却没走。从饭店出来,我和他来到公园里的河边,坐在草地上,望着远山近水,谁也没有说一句话。就那样默默地坐着,我仿佛能感受到他心中所有的悲痛与哀思。直到夕阳西下,我们才往回走,分开的时候,他冲我笑了笑,一种释然的感觉。

后来他多次提起那个下午。我们无言地坐在草地上的时刻。他说:“那么多人都来真心地劝慰我,可失去亲人的痛苦,不是言语所能抚平的。那个下午,你一直陪我坐着。没说一句话。后来,心里就轻快多了,谢谢!”

是的,有的时候,沉默的相伴胜过千言万语。那是一种无声的抚慰、无言的交流。而那静默的时光里。会流淌着一种穿透人心的温暖力量。

听过这样一个故事。

在一个煤矿里,有一次发生了坑底塌方。当时井下正有一个采煤组在工作,一时间,他们陷入了绝境之中。二十几个人躲在一个暂时安全的角落里,等待救援。可是时间过去了很久。仍未有转机,说明救援难度很大。这时,他们的负责人,一个四十多岁的汉子站出来,说:“我们不能这样等下去了,应该积极地去找找有没有别的安全出路。为了减少伤亡,只能去一个人查看!”

他说的方法对,也合理,可就是没人自告奋勇地站出来执行这个任务。虽然大家此刻离死亡是那样地近,可是谁也不想去更接近死亡。一时僵持下来。负责人在昏暗的矿灯光中,逐一看过每个人的脸,他们都躲闪着他的目光。他的目光最终停留在一个二十岁左右年轻人的脸上,年轻人也只是平静地看着他。他心里犹疑了一下,暗叹一声,决定自己去,虽然他知道离了自己这个主心骨,他们也许会艰难危险。

他正要行动,那个年轻人却站了出来,坚定地望着他,他也看着年轻人,那还是一个刚刚长大的孩子啊!别人都在看着他们两个,他从年轻人的眼中看出了坚持,便轻轻地点了点头。年轻人悄悄走出了角落。而大家依旧没有言语,一片沉默之中只有年轻人的脚步声渐行渐远。

后来,在负责人的带领下,他们获救了。而那个探路的年轻人,却永远地将如花的生命停留在黑黑的井底。获得重生的人们无不痛哭,在年轻人的坟前。而鬓染秋霜的负责人更是泪落如雨。他只喊了一声“儿子”便昏了过去。

那是他的儿子。在那样一个沉默的时刻,他们于目光中交流了太多。那是一个被所有人铭记的时刻,也是一种能穿透所有人灵魂的静默。

时刻查询 篇7

关键词:Android平台,火车时刻表查询,查询系统的设计

随着移动互联网时代的来临,手机的应用也十分广泛,涉及到了人们“衣食住行”等各个方面,其中出行是不可或缺的一个元素, 而现在人们中远距离出行使用的交通工具最频繁的当属火车,所以火车时刻表的信息查询变得越来越重要,利用手机查询方便快捷, 是人们最乐意选择的一种方式。Android系统是一款手机操作系统, 于谷歌公司发明公布。Android系统宣称为移动终端打造,做到成为一款具有开放性和完整性的手机软件。此系统由四部分组成,分别是操作系统、中间件、应用软件和用户界面。Android系统一经问世, 好评如潮。所以,利用Android平台来开发各类型系统具有良好且深远的意义。

1 Android平台的基本系统架构

Android平台的构成:(1)Linux Kernel基层:Android平台是基于Linux内核层的,Linux Kernel基层是硬件与软件的集合层,它是基础,为上一层提供统一的服务语法。(2)Android Runtime :简称ART, ART向Linux Kernel基层发出请求信号,在Android Runtime的应用下,可以加快启动和执行的速度,因为在此过程中, 字节码会编译成机器码,即预编译,这有利于加快运行进程。(3)Li- braries数据处理:它响应Linux Kernel基层的信号,对系统数据进行分析处理。(4)Application Framework页面:它相当于是一个完整的程序模型,它具有应用软件所需的基本功能,页面向ART发出请求信号,也对Libraries数据处理具有响应功能。(5)Applications: 在Android平台中,对Application Framework页面发出请求信号, 也收到它的响应。此类应用程序的编写都是基于Java程序的,更多程序的研发编写有待更多技术人员的努力。

2基于Android平台的火车时刻表查询系统设计

在三大主要模块的设计下,细化出多个小模块,为使用者提供更清晰便捷的服务。

手机浏览:首先进入的是软件的首页,首页一定要做到对各个功能的指向性清晰明确,给用户最直观的体验。它是使用者选择的关键,是用户点击进入的最重要界面,因此,构建一个简单清晰的架构,促进用户的忠实使用性是需要解决的问题。手机浏览下即分为三大板块,客户端登录;服务器端口登录;解析并发到终端。本文主要开发优化从客户端登录的火车时刻表查询系统。客户端登录下划分了5个部分,分别是:订单查询,车票查询,搜索取消,我的车票和退出登录。(1)订单查询:用户可在文本框内输入文字,即购买火车票的订单号,系统会自动读取内容,通过内部程序的系统朗读,可使用户通过查询订单便捷的查到火车票的信息。(2)车票查询:用户可通过短信的方式,发送短信查询车票,系统也将进行自动读取,查询结果稍后将以短信的方式告知。(3)搜索取消:本环节即当用户出现输入错误信息,需要撤回时使用,一旦搜索取消,即迅速返回上一层页面。(4)我的车票:用户在通过Android平台的火车票查询系统购买过火车票后,信息将保存在内,点击我的车票即可查询本人的车票信息,经开发优化升级,可输入语言进行查询车票,还可使用语言电话的功能,这充分提升的用户的体验感,更加方便快捷。(5)退出登录: 此环节要做到直观清晰,方便用户寻找内容。为用户下一次使用做铺垫。

3基于Android平台的火车时刻表界面查询设计

火车时刻表系统中包含的界面查询内容较多,本文以其中使用最多的“发车站-到达站”查询界面为例,简要的向大家介绍此界面的设计过程。基于Android平台,采用的是最常用的Linear Layout布局方式,它是一种线性的表现方式,可以相互嵌套,基于Android平台的火车时刻表查询系统设计就主要采用了Linear Layout的布局方式。此布局方式简单易操作,大大提高了程序员的工作效率,也便于用户对系统的使用。

“发车站-到达站”界面设计流程如下:

(1)基于Android平台的设计规则,采用Linear Layout的布局方式,设计查询界面,将其存放在xml文件中。(2)在系统的设计中,文件需要使用布局文件名,以便界面布局的高效读取。(3)在系统的设计中,设计相对应的监听器,并且与按钮进行绑定,便于传递火车时刻表的参数和信息。

在发车站文本框输入“南昌”,到达站文本框输入“北京”为例, 再点击“查询”按钮即可启动系统,对相应的火车信息进行查询。

4结语

基于Android平台的火车时刻表查询系统的设计,是为了更好的满足移动客户的需求,为用户的生活带来便利,该系统经过专家的各方面测试,已经达到正常运行于手机的标准。它不仅为用户提供了方便快捷的查询系统,还为用户更好的掌握火车信息,节省了时间。具有一定的应用价值。还可应用此平台,在火车时刻表查询系统的基础上,研发更多的有助于服务手机用户的系统,为用户提供更多便利。

参考文献

[1]弋改珍,解争龙,张琨.基于Android的火车时刻表查询系统设计与实现[J].现代电子技术,2012(4):41-44.

时刻查询 篇8

Andriod是基于Linux内核的操作系统,是Google公司在2007年11月公布的手机操作系统。该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。《视界》特别报道:2010年第四季度全球采用Android系统的智能手机发货量占到当季总发货量的33%,问世仅3年时间的Android一举超越Symbian坐上了智能手机操作系统的头把交椅。因此,基于Android平台的软件开发具有广阔的应用前景。

随着3G网络的使用,基于Android平台软件开发的研究正在如火如荼地进行,文献[1]介绍了Android的系统架构,分析了该平台的特点;文献[2]介绍了基于Android进行软件开发时平台的搭建过程;文献[3]在模拟器Dalvik上实现了不同平台终端设备间即时通信的功能;文献[4-5]通过视图和布局,给出基于Android技术的界面设计实现方法。本文在前期工作的基础上,设计实现了手机在线火车时刻表查询系统,该程序可下载到手机上,实现随时随地查询火车时刻表信息。软件功能包括按照发车站和到达站进行查询,按照车次进行查询,可将查询到的且经常使用的火车时刻信息保存在本地,以便在无网络信号时进行本地查询。

1 火车时刻表查询系统的设计

1.1 系统功能设计

依据WebXml.com.cn[2]火车时刻表Web服务提供的信息,本文主要实现以下功能:

(1)站站查询:通过发车站和到达站查询火车时刻表。

(2)车次查询:通过火车车次查询火车时刻表。

(3)本地查询:将已经查询到的信息保存在本地数据库,以便在没有网络时进行本地查询。

系统功能模块图如图1所示。

1.2 系统框架结构

利用手机上网功能,从Internet的Web Service[6,7]获取火车时刻表信息,得到的结果一方面可以在线浏览;另一方面将经常使用的一些信息保存在本地数据库,以便在没有手机信号或无网络时进行本地查询,系统结构如图2所示。

1.3 数据流图

根据需求,系统启动以后,首先看到的是主界面,主界面有3种选择,分别是按发车站-到达站查询,按车次查询和按本地查询,并实现相应的功能。当用户选择按发车站-到达站查询,并按车次查询输入相应的参数后,系统会从Web获取信息,然后显示给用户,单击某条信息可以进行保存操作。当用户选择本地查询时,系统会调用本地数据库,将本地已保存的车次信息,显示给用户,数据流图如图3所示。

2 关键技术

2.1 Web Services

Web Services[8]是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件都能够通过Internet来访问并使用这项在线服务。它是一个应用组件,逻辑性地为其他应用程序提供数据与服务,各应用程序通过网络协议和规定标准数据格式(HTTP,XML,SOAP)来访问Web Service,通过Web Service内部执行得到所需结果。Web Service可以执行从简单的请求到复杂商务处理的任何功能。WebXml.com.cn火车时刻表Web服务提供站站查询;车次查询;车站所有车次查询。

2.2 Dom4j

Java解析XML主要有4种方式[9]:Dom,Sax,Jdom,Dom4j,这四种方式各有优缺点。其中,Dom4j是一个Java的XML API,具有性能优异,功能强大和极端易用的特点,同时也是一个开放源代码的软件。

2.3 SQLite

SQLite是一个非常流行的嵌入式数据库,它支持SQL语言,并且只利用很少的内存就有很好的性能。此外,它还是开源的,Android运行时环境包含了完整的SQLite。该系统在设计过程中使用SQLite管理保存在本地的查询信息。

3 核心功能设计与实现

3.1 按发车站-到达站查询界面

系统涉及的界面较多,以“按发车站-到达站”查询界面为例,介绍界面设计过程。

Android提供了几种布局管理方式[10],其中常用的布局为LinearLayout和TableLayout两种。LinearLayout是线性布局,是最常用的一种,也是最简单的一种,它也可以嵌套LinearLayout。该系统设计过程中主要采用LinearLayout方式。

界面设计步骤如下:

(1)按照Android项目目录设计规则,设计查询界面的布局,并将其存放在res目录下的一个xml文件中。

(2)在Activity文件中使用setContentView([布局文件名])读取界面的布局。

(3)在Activity中,为按钮设计监听器,在监听器中使用Intent在多个Activity之间传递参数和信息。

(4)在Activity中将按钮与监听器绑定。

该系统设计默认的发车站为“深圳”,到达站为“西安”,界面如图4所示。单击“查询”按钮启动TrainTimeActivity,查询相应的火车信息。

3.2 获取火车时刻表信息

为了获取Web服务信息,需要定义网络地址、访问的主机、构造参数,建立一个发起请求服务的客户端,返回的数据为一个字符串。

(1)在从Web获取信息之前,需要定义Url,host,param等。

(2)创建一个从Web上获取内容的客户端Client,即HttpClient。

(3)获取含有火车时刻表信息存放在字符串String中。

通过HttpClient客户端发起HttpGet请求,返回一个字符串。

3.3 解析XML文档

从Web返回的信息包含在一个字符串中,使用DocumentHelper的parseText方法将其转换为一个Document,然后获取节点信息,并把信息用Map保存起来。

3.4 查询信息本地化

为了使在Internet上查询得到的信息能在本地重复使用,在查询结果中选择感兴趣的信息保存在SQLite数据库中。使用SQliteOpenHelper类访问数据库,调用该类的getReadableDatabase()方法可获得一个SQLiteDatabase对象,然后调用onCreate(),onOpen(),onUpgrade()等方法对数据库进行操作。关于数据库的查询,SQlite对标准的SQLSelect语句进行了格式化,使用Cursor android.database.sqlite.SQliteDatabase.query(String table,String[]columns,String selection,String[]selectionArgs,String groupBy,String having,String orderBy)语句。该系统在数据库中定义货车信息表(车次代号,车次始-末站,乘坐发车站,发车时间,乘坐到达站,到达时间,里程,花费时间)。

利用Android的调试工具adb可以通过命令行查看所建立的数据库database。在database目录下,使用命令Sqlite3打开数据库Train.db,在SQLite的二级提示符下,利用其子命令可以对其进行查询操作,如图5所示。

3.5 运行实例

如图6所示,以按车次查询为例,当按车次进行查询时,输入车次D32(不是一个具体的车次),系统会查找出所有以D32开头的车次信息,如图6(a)所示。选择需要的一项,如图6(a)中的第二项,会弹出如图6(b)所示的界面,若需要保存此项,则单击“保存”按钮,以备下次在本地查询。

4 结语

根据移动用户的需求,本文基于Android平台开发了火车时刻信息查询系统。该系统已经过测试,能够在手机上正常运行。该系统能够为移动用户提供方便、快捷的火车信息查询服务,具有重要的应用价值。在此基础上还可对系统功能进行扩充,也可以以该系统为例,设计和实现其他基于Android平台的Internet服务,如航班查询、某地区的地图查询等。

参考文献

[1]刘卫国,姚昱禹.Android的架构与应用开发研究[J].计算机系统应用,2008(11):110-112.

[2]宋小倩,周东升.基于Andriod平台的应用开发研究[J].软件导刊,2011,10(2):104-106.

[3]赵亮,张维.基于Android技术的界面设计与研究[J].电脑知识与技术,2009,29(5):8183-8185.

[4]姚昱禹,刘卫国.Android与J2ME平台间即时通信的研究与实现[J].计算机系统应用,2008(12):118-120.

[5]张诚洁.Andriod在线图书阅读器设计与实现[J].微计算机应用,2010,31(10):76-80.

[6]MONTANARI U.Web services and models of computation[J].Electronic Nots in Theoretical Computer Science,2004,105:5-9.

[7]Anon.Web services[J].Electronic Notes in TheoreticalComputer Science,2004,105:95-108.

[8]Anon.TraintimeWeb service[EB/OL].[2011-06-03].ht-tp://webservice.webxml.com.cn.

[9]郭宏志.Android应用程序开发详解[M].北京:电子工业出版社,2010.

时刻查询 篇9

SQL语言是目前数据库领域中非常实用、流行的主流语言。SQL是Structure Query Language的英文缩写, 意思是结构化查询语言。包括:数据查询 (SQL) 、数据操纵 (DML) 、数据定义 (DDL) 和数据控制 (DCL) 等功能于一体。数据查询是数据库的核心内容, 也是我们最常用的操作。数据查询是通过SQL语句来实现的, 利用SQL语句可以从数据库中查询出我们所需要的各种数据。[1]

数据查询分为单表查询和多表查询。单表查询是对一个表的查询, 因为比较简单, 这里不再说明。多表查询是对多个表, 将分布在不同表中的数据根据需要进行查询。多表查询可以通过连接查询和嵌套查询来实现。[2]下面以学生管理数据库为例, 介绍以上两种查询。其中学生表和成绩表的关系模式如下:学生 (学号, 姓名, 性别, 出生日期, 籍贯, 班级代码) ;成绩 (学号, 课程号, 成绩) 。

1.1 什么是连接查询

1.1.1 定义。

根据各个表之间的逻辑关系从两个或多个表中查询数据。如:查询学生的学号、姓名、课程名称和成绩, 涉及到的数据表有学生、课程和成绩。

1.2 连接查询的分类

1.2.1 内连接。

内连接 (inner join) 是一种最常用的连接类型。内连接是一种任意条件的查询, 如果两个表的相关字段满足连接条件, 就从这两个表中提取数据并组合成新的记录, 也就是在内连接查询中, 只有满足条件的元组才能出现在结果关系中。[3]

例如:要查询每个已经选课的学生的情况, 查询语句为:

SELECT*FROM学生INNER JOIN成绩ON学生.学号=成绩.学号

连接查询根据比较方式分为:

1.2.1. 1 等值连接:使用等号 (=) 运算符比较被连接的列的列值, 称为等值连接。

1.2.1. 2 不等连接:

使用除等于运算符以外的其它比较运算符比较被连接的列的列值, 称为不等连接。包括>、>=、<=、<、!>、!<和<>等运算符。

1.2.1. 3 自然连接:

使用等于 (=) 运算符比较被连接列的列值, 但删除连接表中的重复列, 称为自然连接。它属于等值连接的一种特殊情况。

1.2.2 外连接。外连接是指将不满足限制条件的表中的数据也显示在最终结果中。

根据限制表的不同, 外连接分为三种情况:

1.2.2. 1 左外连接 (LEFTOUTER JOIN)

左外连接是限制连接条件右边的表中的数据必须满足连接条件, 而不关左边的表中的数据是否满足连接条件, 均输出左边表中的内容。

例如:要查询所有学生的选课情况, 包括已经选课的和还没有选课的学生, 查询语句为:

SELECT学生.学号, 姓名, 班级代码, 课程号, 成绩

FROM学生LEFT OUTER JOIN成绩ON学生.学号=成绩.学号左外连接查询中左边表中的所有元组的信息都得到了保留。

1.2.2. 2 右外连接 (RIGHTOUTERJOIN) 。

右外连接与左外连接类似, 只是右端表中的所有元组都列出, 限制左端表的数据必须满足连接条件, 而不管右端表中的数据是否满足连接条件, 均输出表中的内容。

例如:同上例内容, 查询语句为

SELECT学生.学号, 姓名, 班级代码, 课程号, 成绩

FROM学生RIGHTOUTERJOIN成绩ON学生.学号=成绩.学号右外连接查询中右边表中的所有元组的信息都得到了保留。

1.2.2. 3 全外连接 (FULL OUTER JOIN) 。

全外连接查询的特点是左、右两端表中的元组都输出, 如果没能找到匹配的元组, 就使用NULL来代替。

例如:同左外连接例子内容, 查询语句为:

SELECT学生.学号, 姓名, 班级代码, 课程号, 成绩

FROM学生FULL OUTER JOIN成绩ON学生.学号=成绩.学号

全外连接查询中所有表中的元组信息都得到了保留。

1.2.3 自连接。在同一个表内进行自身连接, 这种查询称为自连接查询, 自连接必须为表指定两个别名。

例如:要求检索出和刘鑫同班同学的信息, 查询语句为:

SELECT学生.*FROM学生JOIN学生AS学1 ON学生.班级代码=学生1.班级代码

WHERE学生1.姓名=‘刘鑫’and学生1.学号<>学生.学号

1.2.4 交叉连接。交叉连接即笛卡儿乘积, 是指两个关系中所有元组的任意组合。一般情况下, 交叉查询是没有实际意义的。例如:如果希望得到学生和成绩两个关系模式的乘积, 查询语句为:

2. SELECT*FROM学生CROSS JOIN成绩

2.1 什么是嵌套查询

2.1.1 定义。嵌套查询是指在一个SELECT语句的WHERE子句中嵌套另一条SELECT语句的查询, 又称为子查询。

2.2 嵌套查询的分类

2.2.1 无关子查询。

无关子查询的执行不依赖于外部嵌套。查询的执行过程为:首先执行子查询, 子查询得到的结果作为外部查询的条件使用, 然后执行外部查询。通常使用比较运算符或[NOT]IN关键字。

2.2.1. 1 返回一个值的子查询。

子查询的返回值只有一个时, 可以使用比较运算符如=、<、>、>=、<=、!=等将父查询和子查询连接起来。

例如:要求检索出和刘鑫同班同学的信息, 查询语句为:

SELECT*FROM学生WHERE班级代码= (SELECT班级代码FROM学生WHERE姓名=’刘鑫’) AND姓名<>’刘鑫’

2.2.1. 2 返回一组值的子查询。

子查询的返回值不止一个, 而是一个集合时, 可以在比较运算符和子查询之间插入ANY、SOME或ALL关键字。其中等值关系可以使用IN关键字。

例如:查询成绩高于选修了“计算机基础”课程平均成绩的学生的学号和姓名。

SELECT学生.学号, 学生.姓名FROM成绩JOIN学生ON学生.学号=成绩.学号

JOIN课程ON成绩.课程号=课程.课程号WHERE课程名='计算机基础'AND

成绩>ANY (SELECT avg (成绩) FROM成绩, 课程WHERE成绩.课程号=课程.课程号and课程名=‘计算机基础’)

2.2.2 相关子查询。

相关子查询是指在子查询中, 子查询的查询条件中引用了外层查询表中的值。执行时先执行外部查询语句, 然后根据外部查询返回的结果执行内部查询语句。通常使用[NOT]EXISTS关键字。

例如:查询没有学习任何课程的学生的学号和姓名。

SELECT学号, 姓名FROM学生WHERE NOT EXISTS (SELECT*FROM成绩WHERE成绩.学号=学生.学号)

3. 连接查询和嵌套查询对比分析

从“要求检索出和刘鑫同班同学的信息”这个例子中我们可以看到, 使用连接查询和嵌套查询实现该查询的结果完全相同。由此我们可以得出这样一个结论:连接查询和嵌套查询之间有时是可以相互替换的, 但不是所有情况下都可以互换。下面将分别介绍连接查询和嵌套查询的优劣。

3.1 连接查询的优势和劣势。

连接查询使用简单, 但因为在各表连接的同时对所有的条件综合查询, 所以不易发现错误, 一旦出错, 纠错也比较麻烦。另外, 连接查询实际上是将所有表根据条件先合并成一个表。因此在数据量很大的情况下, 对计算机系统的要求较高, 需占用更多的系统资源。

3.2 嵌套查询的优势和劣势。

嵌套查询是用户必须清楚每一个子查询的结果及各表之间的逻辑关系, 对用户要求较高。但嵌套查询是逐步求解, 需要的计算机系统开销较小。

3.3 怎样合理运用连接查询和嵌套查询。

综上可以看出, 连接查询和嵌套查询各自有其优势和劣势, 在实际查询过程中到底采用哪种查询方式, 因根据使用习惯及对两种查询方式的熟练程度确定, 也可以混合使用。

4. 总结

综上所述, 查询的优化必须符合以下条件:满足查询需求的同时提高查询速度, 并能减少计算机系统开销为原则。熟练掌握SQL查询功能及技巧是基础, 另外了解每种查询的优劣才能更好的选择合适的查询方式。笔者首先介绍了连接查询和嵌套查询的定义和分类, 然后通过两者的对比分析, 比较了两者的优势和劣势, 总结出实际使用过程中可根据自身的实际需求和使用习惯选择合适的查询方式。

参考文献

[1]王良元, SQ连接、嵌套与混合查询[J], 电脑学习, 2005

[2]张文雯, SQ嵌套查询[J], 信息技术, 2011

时刻查询 篇10

1 数据库与数据表的结构

信息查询是对已存在数据库表中的记录或数据进行查询, 所以信息查询设计的前提是掌握相关数据库的类型及数据表的结构。对会计科目查询设计而言, 就是要弄清楚账务处理数据库中会计科目数据表的结构。假定账务处理数据库和会计科目数据表是利用Microsoft Office Access建立的, 账务处理数据库的文件名为zwcl.mdb, 会计科目数据表名为kjkm, 并假定kjkm数据表的结构如表1所示, 表内已保存了相关会计科目的记录。

2 查询表单界面及相关网页代码设计

2.1 查询表单界面与查询请求

查询界面可设计成不同的形式, 但应满足简明、易用、美观等界面设计原则, 并尽可能提供较多的检索途径。本文所设计的会计科目查询界面如图1所示, 其中待查询的项目可从下拉列表框中选择, 包括与kjkm数据表中的字段相对应的选项, 分别为科目编号、科目名称、借贷方向、期初余额, 默认的选项为“科目名称”。从下拉列表选择相应的项时, 在待查询的值所对应的区域可输入与待查询的项目对应的数据, 若单击“查找”按钮, 应能够将表单界面上的数据所对应的查询请求传递到服务器进行相关处理 (例如, 选择待查询项目为“科目名称”, 输入待查询值为“现金”, 则单击“查找”按钮时, 就会将查询“科目名称”为“现金”的请求传递到服务器进行处理) ;若单击“重填”按钮, 则可使表单重置为如图1所示的界面, 以便于继续选择待选查询项目和输入待查询的值。

2.2 查询界面对应的网页代码

可以利用UltraEdit、EditPlus或Windows操作系统中自带的“记事本”等任一文本编辑软件, 建立会计科目查询界面对应的网页文件AccountItemSearch.htm, 并将该文件保存在计算机硬盘的一个实际目录下, 再在“Internet信息服务”控制台中将该实际目录设置为虚拟目录kemu。文件AccountItemSearch.htm中的网页代码对应如下:

会计科目查询
请选择待查询的项目:

请输入待查询的值:

2.3 查询界面网页代码的有关说明

文件AccountItemSearch.htm所述代码的运行结果是如图1所示的信息查询界面。其中,

标记对之间的代码定义了一个表单,

标记中的action属性指明处理该表单的ASP文件为accountitemsearch.asp, method属性表明此表单用“POST”方法向ASP文件传递数据, 可使得ASP使用Request.Form集合来读取表单的数据。

标记对之间的代码的运行结果是一个表格, 与标记对指定表格的一行, 与标记对指定一个单元格的内容。其中, 指明表格居中, 表格的边框宽度 (或border属性) 为1;指定了表格上方的标题及字体字号;之间的代码定义了默认选项为“科目名称”的下拉列表框, 该下拉列表框的name属性为search, 其下拉列表项包括科目编号、科目名称、借贷方向、期初余额, 对应的value属性分别为kmbh、kmmc、jdfx、qcye;表示一个name属性为zhi的文本框。


是一个回车换行标记, 这里用来输出一个空行, 可使该查询界面的布局更合理。之后的

会计科目查询
之间的代码表示一个不显示边框 (border属性为0) 、对齐方式为居中的表格, 单元格内分别是type属性为submit的“查找”按钮和type属性为reset的“重填”按钮。

3 信息查询处理

3.1 查询处理逻辑与处理结果界面

图1中, 待查询的项目可以从下拉列表中选择, 可选项分别是科目编号、科目名称、借贷方向、期初余额, 其中科目名称是默认选项;待查询的值需要从键盘输入, 并对应于从下拉列表选择的项目。选择待查询项目并输入对应的值后, 可选择单击“重填”按钮或“查找”按钮。若单击“重填”按钮, 则待查询项目自动选择默认的选项, 待查询的值的输入区自动清空。若单击“查找”按钮, 就向服务器提交了信息查询的服务请求;服务器接收查询请求后, 立即在数据库中搜索与处理, 并将搜索与处理的结果传送至浏览器, 供用户使用。例如, 在如图1所示的界面中, 当输入待查询的值为“现金”时, 单击“查找”按钮可返回如图2所示的查询结果。单击图2中的“[返回] ”链接, 可返回如图1所示的界面继续进行查询。

另外, 当图1中待查询项选择为期初余额时, 若输入的值不为数值型数据, 则返回“期初余额不对!”及超链接“[请单击此链接返回] ”信息, 单击该超链接后可返回上一查询界面。

当待查询项选择为期初余额, 且输入的值是正确的数值型数据时, 或当待查询项选择为其余项 (科目编号、科目名称、借贷方向) 时, 若数据库中没有相关记录, 则返回“未找到相关记录!”及超链接“[请单击此链接返回] ”信息, 单击该超链接后可返回上一查询界面;若数据库中有相关记录, 则以表格形式输出查询结果及超链接“[返回] ”, 单击该链接后可转到如图1所示的查询界面。

3.2 查询处理对应的网页代码

为实现上述查询处理逻辑, 并返回相应的查询结果, 仍可利用UltraEdit、EditPlus或“记事本”等软件建立查询处理对应的网页文件accountitemsearch.asp, 注意该文件名必须与会计科目查询请求文件AccountItemSearch.htm中标记的action属性指定的文件名一致, 并且需要保存在同一目录下。会计科目查询处理文件accountitemsearch.asp的网页代码对应如下:

<%

strSearch=request ("search")

if strSearch="qcye" then

if isnumeric (request ("zhi") ) then

strSQL="select * from kjkm where "&strSearch&"="&request ("zhi")

else

response.write "期初余额不对!
"

response.write "[请单击此链接返回] "

response.end

end if

else

strSQL="select * from kjkm where "&strSearch&"=' "&request ("zhi") &"' "

end if

set conn=server.createobject ("ADODB.Connection")

conn.open="Driver={Microsoft Access Driver (*.mdb) };DBQ="&server.mappath ("zwcl.mdb")

set rs=server.createobject ("ADODB.Recordset")

rs.open strSQL, conn

if rs.eof then

response.write "无找到相关记录!
"

response.write "[请单击此链接返回] "

else

response.write "

"

response.write "

"

response.write "

"

response.write "

"

response.write "

"

do

response.write "

"

response.write "

"

response.write "

"

response.write "

"

response.write "

"

response.write "

"

rs.movenext

loop until rs.eof

response.write "

查询结果
科目编号科目名称借贷方向期初余额
"&rs ("kmbh") &""&rs ("kmmc") &""&rs ("jdfx") &""&rs ("qcye") &"

"

response.write "[返回] "

response.write "

"

end if

%>

3.3 查询处理网页代码的相关说明

accountitemsearch.asp的代码中, 分隔符<%与%>是ASP的脚本标记对, strSearch=request ("search") 表示由变量strSearch接收从浏览器端取得的与下拉列表框相对应的数据, 其中, request ("search") 是从浏览器端获得下拉列框中对应选项的Value属性值, search是下拉列表框的Name属性 (参见2.2和2.3节) , 当从下拉列表框选择科目编号、科目名称、借贷方向或期初余额时, strSearch的值分别对应于kmbh、kmmc、jdfx、qcye。由于查询表单界面对应的网页文件AccountItemSearch.htm中标记将其method属性设定为POST方法, 所以, request ("search") 在这里也可写成request.form ("search") , 表示查询处理程序采用Request对象的Form集合来获取表单中的数据。同理, request ("zhi") 也可写成request.form ("zhi") 。

分支语句if strSearch="qcye" then …… else …… end if表示的处理逻辑是, 当变量strSearch对应于qcye (对应于从浏览器端的下拉列表框中选择了“期初余额”) 时, 那么, 如果接收到的浏览器端输入区的数据是数值型数据, 则变量strSQL就代表一个按相应期初余额进行查询的SQL语句;如果接收到的浏览器端输入区的数据不是数值型数据, 就向浏览器端返回“期初余额不对!”及超链接“[请单击此链接返回] ”等信息, 并终止本网页代码的执行。当变量strSearch不为qcye (表示从浏览器端的下拉列表框中选择的不是“期初余额”, 而可能是“科目编号”、“科目名称”、或“借贷方向”) 时, 则变量strSQL就代表一个按相应科目编号、科目名称、或借贷方向进行查询的SQL语句。其中, isnumeric () 是数值型数据测试函数, request ("zhi") 是从浏览器端获得数据输入区的数据 (zhi是输入区文本框的Name属性, 参见2.2和2.3节) , response.write的功能是向浏览器端输出处理结果, response.end的功能是结束本程序的执行。注意strSQL对应的SQL语句中, where之后至少要有一个空格, 例如:strSQL="select * from kjkm where qcye=200.39";又如:strSQL="select * from kjkm where kmmc=' 现金' "。语句[请单击此链接返回] 表示一个超链接, 单击该链接时网页转到前一个页面。

set conn=server.createobject ("ADODB.Connection") 至rs.open strSQL, conn之间各语句的功能分别是建立连接对象conn、与数据库zwcl.mdb建立连接、创建记录集对象rs、打开记录集对象取得数据。其中, rs.open strSQL, conn执行后, 与浏览器端表单界面所述条件相匹配的查询结果 (或者说, 与strSQL所述查询语句相对应的结果) 就被保存在记录集对象rs中。

分支语句if rs.eof then …… else …… end if表示的处理逻辑是, 如果记录集对象rs中无记录, 则向浏览器端返回“未找到相关记录!”及超链接“[请单击此链接返回] ”信息, 否则, 就以表格的形式返回查询结果及超链接“[返回] ”。其中, 语句response.write "查询结果"的功能是向浏览端输出表格的标题, 该语句之后的代码功能是输出表格每栏的标题、循环输出各行的记录、输出“[返回] ”超链接。代码中, rs.eof用于测试记录指针是否位于最后一条记录之后, do与loop until rs.eof 是直到型循环结构, 记录指针位于最后一条记录之后时退出循环;与用于标记一个单元格中的内容, 并使单元格的内容以粗体出现, 常用于表格中的标题栏;rs ("kmbh") 、rs ("kmmc") 中的kmbh、kmmc等分别与kjkm数据表中的字段相对应 (参见表1) ;rs.movenext用于将记录指针移到下一条记录处, 通常, 输出一条记录后就需要将指针移到下一条记录;response.write "[返回] "表示在浏览器端建立超链接“[返回] ”, 单击该超链接时可返回到AccountItemSearch.htm表示的初始查询界面。

4 信息查询功能的实现

ASP是一种服务器端的脚本语言, 它只能在服务器环境下才能正常运行, 需要在Windows NT、Windows 2000、Windows XP及更高版本的操作系统上添加和安装IIS组件;ASP对客户端没有任何特殊要求, 只要有一个普通的浏览器即可。计算机安装IIS组件后, 就可以利用“Internet信息服务”控制台设置主目录及虚拟目录。在Windows操作系统的控制面板双击“管理工具”图标, 再在出现的“管理工具”界面双击“Internet信息服务”选项, 即可打开“Internet信息服务”控制台进行相关设置。

可将账务处理文件zwcl.mdb、AccountItemSearch.htm、accountitemsearch.asp保存在安装有IIS的计算机的主目录或某一个目录下。如果这些文件没有保存在主目录下, 则需要在“Internet信息服务”控制台将这些文件所在的目录设置为虚拟目录, 并指定虚拟目录的别名 (例如可将别名指定为kemu) 。该计算机作为服务器上网后, 用户可以在Internet上任何客户端的URL地址栏输入以下格式的网址来实现基于Web的信息查询功能:http://服务器域名或IP地址/虚拟目录别名/accountitemsearch.htm。

参考文献

[1]李国红.基于Web的会计科目输入处理的设计与实现[J].中国管理信息化, 2008 (13) :4-8.

澳网的冠军时刻 篇11

最后一位本土冠军

在公开赛时代之前,本土选手几乎垄断了澳网单打桂冠。这主要是因为澳洲太远,欧美高手大多不愿前往造成的,即便是舟车劳顿到了澳洲,也难保状态。公开赛时代之后,随着职业化程度的加深和交通工具的发展,越来越多的国外高手加入澳网冠军争夺。在上世纪六七十年代,澳大利亚涌现出了如拉沃尔、罗斯维尔、纽康比、古拉贡、考特在内的诸多好手,他们赢下了那些年大部分的澳网冠军,保住了本土选手最后的颜面。自从1976年和1978年后,就再也无本土选手获得澳网男单和女单冠军。最后一位本土男单冠军叫埃德蒙森,最后一位本土女单冠军名为奥尼尔,两人都是一满贯选手。在此后的三十余年,澳洲的网球健儿都为在本土折桂而付出努力,但尴尬的是,在过去的二十年里,只有休伊特一人于2005年一次打进澳网单打项目的决赛,并且输掉了比赛。一些大家耳熟能详的名将,如拉夫特、斯托瑟,似乎患有主场恐惧症,总是无法将最好的状态留在墨尔本。

颁奖典礼上的眼泪

在大满贯的决赛中,无论是获胜者欣喜若狂的激情之泪,还是失败者悲伤至极的难过之泪,都令人动容。在最近三届的澳网男单颁奖典礼上,就曾两度上演了男儿掉泪的场面。2009年澳网决赛,在一场持续4小时22分钟的五盘大戰之后,落败一方的费德勒在颁奖典礼上居然痛哭流涕,他那句“God,it's Killing me!(老天,这真要命!)”让人感慨万千。这是费德勒在大满贯决赛中对纳达尔的五连败,瑞士天王的泪水在这一刻显得自然而真实,引发了现场观众起立为他抱以鼓励的掌声。倒是身旁的冠军纳达尔显得有些不自在,腼腆的西班牙人有些不知所措,除了褒扬费德勒之外,他实在找不出其他的言语来安慰这位年长的大哥,于是,纳达尔选择了最直接的方式,对费德勒来了一个兄弟般的拥抱。

无独有偶,一年之后的澳网男单颁奖典礼上亚军再次泪洒现场,这次的主角换成了穆雷。这是穆雷第二次打进大满贯决赛,却也是他第二次在大满贯决赛中0-3输给费德勒。哽咽落泪的穆雷以幽默来掩盖自己的失态,他说:“I can cry like Roger,It's just a shame I can't play like him.(我可以像罗杰一样哭泣,却不能像他一样打得好)”

让我们把时光再往前推移,2005年澳网女双颁奖典礼上,屈居亚军的达文波特和莫拉尤泪流满面,她们并非为丢了冠军而懊恼,而是因为莫拉尤是击败了病魔的侵袭重返赛场非常不易。当莫拉尤在颁奖典礼上谈起那段与白血病抗争的岁月时,现场所有人无不为之动容。

亚拉河中的见证

亚拉河是墨尔本所在的维多利亚州的母亲河。对于网球迷而言,对亚拉河最深的印象应该是澳网冠军携奖杯乘坐游艇巡游。2000年女单冠军达文波特、2005年女单冠军小威廉姆斯、2008年女单冠军莎拉波娃,都曾在亚拉河上留下过倩影。不过也有人对于亚拉河有不同的记忆,甚至可谓有更深的接触。1992年美国人考瑞尔在成功卫冕男单冠军之后,与教练一起跳入了亚拉河内庆祝。要知道,当地的环境部门曾宣布这条河的污染程度达到了18级。不过考瑞尔可管不了这么多了,他之所以这么做,只是为了履行自己在前一年夺冠时许下的诺言。

领奖台上的中国面孔

关键时刻 篇12

乙未羊年,即公历2015年。

这一年是我国第十二个五年规划的最后一年,也是《物流业发展中长期规划(2014—2020)》启动的一年。当前,我国发展面临的国际国内环境复杂严峻,全球经济复苏曲折乏力,国内经济下行压力持续加大,多重困难和挑战相互交织。我国经济社会发展总体平稳,稳中有进,经济发展进入新常态,经济发展基本面没有改变。

在要求经济实现有质量、有效益可持续发展的关键时刻,我国物流业将要发展成为“支撑国民经济发展的基础性、战略性产业”,以现代综合性物流服务体系,为社会经济建设提供有力保障。这要求物流业适应“新常态”经济发展,根据社会物流需求变化,调整物流业内部结构,采用新技术,使用新方法,将以投入为主的驱动方式,转换为内部创新、挖潜增效的驱动方式。

我们的物流企业应该彻底放弃传统的单一追求数量规模的增长方式,寻找到以提升物流服务质量、提高物流运作效率为中心的企业发展道路,不断调整物流基础设施、设备等资源存量,为进一步优化物流服务打下坚实的基础。还需要认真研究社会物流需求变化,以需求变化为导向,适应市场需要,创新出有针对性的、个性化的物流服务。还要将“目光”放远、“眼界”放宽,寻找出新的市场增长点,在拓展自身物流服务网络的同时,还能够沿着产需供应链,向上下游产业渗透,深化产业联动机制,形成综合物流服务优势。

上一篇:防御解决方法下一篇:运动人体科学类课程