李 昕,仲 珩,褚治广
基于时空维度的交友软件—胶囊
李 昕,仲 珩,褚治广
(辽宁工业大学 计算中心,辽宁 锦州 121001)
为了丰富人们的日常生活,在时间和空间的基础上设计了一款基于时空维度的交友软件—胶囊。实现了在特定的时间、特定的地点交友并且参加活动,在同一时空下与有缘之人相互匹配交友,基于时间和空间数据集的特征预测用户的社交圈。软件开发主要以BMOB云数据库作为系统的后台支撑,同时结合OkHttp网络作为系统的请求框架,简化查询操作,同时软件开发采用MD5加密方式进行用户信息加密,保证用户信息的安全,主要采用时空关键字算法按照用户提供关键字匹配相应数据。使用户可以更多地结识好友,参加交友活动。
时空交友;时空数据集;时空关键字
卡内基说过,“周围都有好朋友的人,比四面楚歌的人不知幸福多少”,时间和空间位置相互匹配的人之间更容易成为朋友。随着web技术的发展形势,刻画描述用户时空位置的数据无处不在,主要体现在:用户签到、用户通信和用户发帖等方面。因此在此基础上进行构思,随之应运而生了一款基于时空维度的交友软件—胶囊。该软件设计的过程中,将时间和空间位置相结合,是一种基于时空数据集的社交体系,在此基础上来满足人们突破沟通层级,进行更多的社交活动的想法。设计软件时考虑到了可以使用户在特定的时间、特定的地点交友同时参加交友活动,在同一时空条件下和与用户有缘的人进行相互匹配,同时还实现了一些可以进行签到打卡、推送预约、和好友在线聊天等设计功能。
基于时空维度的交友软件是一款基于时间和空间相互结合的网络社交类软件。在软件设计的主要技术方面,软件基础采用Eclipse+Android SDK的方式进行设计开发,以BMOB云数据库[1]作为主要的数据库进行后台支撑,采用OkHttp网络[2]作为主要的系统请求框架,最大程度上满足了软件设计需求,简化使用者的操作,满足用户体验需求。在软件设计的用户使用安全方面,设计过程中采用MD5[3-5]的信息加密方式来保证用户的信息安全。软件更深层次的基于时空关键字查询的形式进行用户交友模式,根据用户提供的时空位置信息进行数据分析,向用户推荐适合用户个人的好友数据供用户进行选择。
本文主要从时空关键字[12]查询的角度考虑,提供了一种时空关键字查询的算法,并设计了一款时空交友软件,与本文提供的算法相结合,最大程度上满足软件设计需求,使得用户在使用过程中操作简单,满足用户体验需求。
用户下载好软件后,首先进行注册、填写个人信息、登录,进行以上操作后即可进入软件的主要界面。
软件采用了多种不同类型的模块设计,其中包括“胶囊”模块、“签到”模块、“附近”模块、“商圈”模块、“我的”模块,这5个大的模块提供给用户进行选择。
(1)“胶囊”模块
该模块界面为整体软件设计的主界面。在“胶囊”模块下主要包括“身边的圈子”和“推广活动”这2个主要内容。在该界面是根据用户的手机定位查看自己所处位置附近有哪些交友圈子和交友活动的项目推广,用户可以根据自己的交友需求进行查看了解。
(2)“签到”模块
该模块主要向用户提供签到打卡服务。在日常生活中总有许多的人会根据网络上的推荐到一个地方旅游拍照,该模块就是向用户提供这类服务,用户可以在“签到”模块界面进行签到打卡,同时可以查看用户自己或者其他用户的打卡签到信息,点击进入后可以和在当前地点打卡的人一起聊天,彼此相互了解交友。在该模块可以到指定地点打卡,也可以自发地发起当前位置的签到打卡,打卡交友后可以进行评论,发表自己对这个地方的想法,和其他打卡签到的用户分享心得。
(3)“附近”模块
该模块结合手机定位一起使用,用户可以在该界面寻找同一时空下的“他”或“她”,用户间进行一对一的匹配,一起聊天,该模块的主要作用在于在某个相同的区域内进行用户匹配,寻找志同道合的人,例如,一起在图书馆学习的小伙伴,一起在野外露营的驴友,同时也可以找到你所处环境周围的时空圈,可以使得用户针对性地交友。
(4)“商圈”模块
用户打开手机定位,可以寻找附近的商圈,同时可以了解当前商圈中的相关活动,寻找美食等。
(5)“我的”模块
用户将自己的个人信息填写到该模块中,完善自己的信息,使得周围的朋友可以相互了解。
客户端的系统功能如图1所示。
图1 系统功能
在技术方面,系统采用Bmob云后台数据库作为整个软件的后台系统用于支撑基于Android的系统开发[6],网络则是采用OkHttp网络[7-8],简化用户的查询操作,通过不同的交互接口实现软件与数据库之间的信息交互。图片处理方面,系统采用Picasso开源框架结合PhotoView开源库,在有效防止内存溢出的基础上实现了不同的手势拖拽功能。软件的安全方面,在用户的注册、登录过程中将用户密码等信息采用MD5加密的形式,并通过循环进行反复加密,最大程度上保证用户信息的安全。
用户根据自己个人的需求在系统界面选择需要的内容,根据用户的个人需求进行反馈,Bmob云数据库接收到系统进行处理后的消息后向用户返回结果,通过不同的数据交互接口实现APP端与服务器之间的数据交互。在交互接口通信时采用POST的上传形式,拒绝明文上传,以保证用户的数据安全。返回的数据则用JSON[9-11]的形式进行传递。若用户使用过程中需要系统提供翻译服务,只需要向翻译接口发送请求,系统接受消息并进行翻译操作后反馈给用户。同时还调用了“支付宝”和“微信”的支付接口,保证用户的不同需求。
软件体系结构如图2所示。
图2 软件体系结构
软件系统设计中最重点额设计部分为时空关键字查询。通过用户提供的时间和空间位置信息,对信息数据进行分析,向用户推荐适合用户的各类查询数据。
随着现代科技的进步、网络技术的发展,移动电话、智能手表以及GPS设备在社会上的普及,大众的日常社交与时空关键字信息之间的联系正以肉眼可见的速度变得越来越紧密。许多的智能手机用户也通过手机签到、发帖、地理标签等方式贡献自己的地理位置信息,和好友甚至是不认识的人分享自己的时间、空间位置的信息。
现存的传统社交网络结构包含用户以及用户之间的关系,随着用户的社交网络体验方式在逐步实现形式上的多样化,空间位置信息与社交网络之间的联系越来越密切,用户在使用网络进行社交时,和其他用户分享自己个人的位置信息已经在社会中普及开来。再者,时间是事物发展的最本质的属性,随着时间的前进,事物也在随着发展。同时,时间信息与空间位置信息、社交网络结构之间相互融合,形成基于时间和空间的社交网络体系。基于此设计了一款基于时空维度的交友软件。
基于位置信息的社交方式已经成为当前的社交主流形式,用户在游玩、交友的过程中向其他用户分享自己的位置信息并分享自己当时的内心感受。而如今,社交已经不能再仅仅只是局限于用户之间的聊天和分享文字内容、图片信息的方式,应该在此基础上设计更加有趣、吸引用户的社交方式。
随着移动网络社交方式以及GPS等实时定位技术的发展愈来愈迅速,用户在使用网络的方式进行社交的过程中,会分享自己的旅游心得、吃到的美食店、去过的每一处有意义的地方,那么,除了会产生文本信息之外还会产生时间和空间形式的信息[12],这种信息形式具体体现如下。
(1)时间信息:在用户发布内容、评论帖子、转发或者收藏帖子的使用过程中,后台所产生的相应的链接内容中包含了用户在进行操作过程的具体时间信息,使用用户之间进行相互关注操作同时互相建立朋友关系时、使用用户在进行登入或登出账号操作时的具体操作时间等等。
(2)空间信息:当用户在使用APP的过程中,用户将自己手机的定位服务功能打开并始终将手机的定位服务功能处于开启状态,手机的GPS定位服务功能就会记录用户当前使用手机时的实时地理位置信息等。而在此过程中,时间信息和空间信息是密不可分的关系,若要采集实时的地理位置信息就需要采集用户当前的时间数据信息。
(3)文本信息:用户通过手机APP发布的信息内容中包含的文本信息,地理位置标签则包含相关的未知关键字等。
基于时间和空间信息的社交网络实际上就是结合了以上3个基本信息形成的网络结构:社交网络结构(Social Network)、空间网络结构(Spatial Network)和时间网络结构(Temporal Network)。
基于时间和空间的社会网络分析如图3所示。
图3 基于时间和空间的社会网络分析
在基于时间和空间特征融合的时空数据模型[13]中,按照基于时间的时空数据模型和基于空间的时空数据模型处理所有的时空数据,或者用户的正确时空数据。基于时间的时空数据和基于空间的时空数据的特征分类算法主要包含逻辑回归算法(LR)、支持向量机算法(SVM)、朴素贝叶斯算法(NB)、决策树算法(DT)和随机森林算法(RF)[14]。
基于时间和空间特征融合的时空数据模型能有效地反映各个侧面的不同类型的时空信息数据,能够充分利用所得到的各个侧面的不同特征信息。因此,当信息中的1个或者多个特征信息出现误差时,通过特征的再次融合可以获得想得到的正确结果信息。
假设查询的查询条件为(R, [ts, te], Wq),其中,R = (c, r),为了找到在指定的时空范围内与关键词相关的用户组集合,这类方法基本的工作流程为:第一步,选定作用于索引的根结点,即为作为查询条件的时间段[ts, te];第二步,得到所需要的一些符合时间条件的R-tree;第三步,使用R-tree的检索算法,对于每个不同的结点使用Bloom Filter算法进行检验,检测是否为查询的关键词集合,整个的过程持续进行到找到符合条件的叶子结点;最后一步,进行特定的计算算法,形成最终的查询结果。
算法:
“胶囊”主界面如图4所示。该界面向用户展示了用户所在位置附近可参与的全部线下活动,同时用户可以自行在软件中发布线下活动,可根据用户的喜好、偏向有针对性地向用户推荐适合用户个人的线下活动,使用户可以和志同道合的人一起参与、交友。在该界面,用户选择了自己喜欢的活动内容后,即可进入到活动详情界面。
图4 “胶囊”主界面
图5 活动详情界面
活动详情界面如图5所示。在活动详情界面,用户可以查看发起人的信息、参与的成员的信息,同时可以查看到允许参加活动的成员要求,以及活动的参与人数等相关信息。用户在浏览信息之后即可在该界面进行报名操作,报名成功后可以在“我的”模块进行查看。
“商圈”界面如图6所示。在该界面用户可以查看到所处位置附近的商圈以及商圈内的优惠活动,可以自己上传评价,也可以向其他用户推荐自己喜欢的餐馆,同时也可以浏览到其他用户上传的商圈内的美食信息,互相评价、分享自己品尝后的感受。使得用户可以实时了解所处环境周围的信息,了解周围事物,方便用户的日常生活。
图6 “商圈”界面
将基于时空维度的交友软件—胶囊投入到校园内进行使用。同学们根据自己的喜好等条件进行有针对性的查找。同时,学校社团也将自己社团组织的各项活动发布到软件中,感兴趣的同学就会按照社团提供的相关信息选择参加。当学校附近有新开业的店铺,打头尝鲜的同学将自己的品尝感受发布出来供想去尝试但一直没有去的同学进行参考。不同院系的同学之间在软件中联系相互了解,最终成为朋友。
通过对基于时空维度的交友软件的设计与开发,展示了相关软件设计的开发流程,帮助开发者系统地了解Bmob云技术、Okhttp技术,同时在软件中调用不同的API接口为用户提供各类不同的基础服务,通过MD5信息加密算法进行信息加密。软件通过关键字查询的方式,根据用户提供的关键字信息向用户推荐适合用户的内容,用户可以查看所处位置附近的实时活动、实时信息,丰富用户日常生活的同时可以让用户交到更多的朋友。在用户使用体验的过程中根据用户提供的时空位置信息进行数据分析,向用户推荐适合用户个人的好友数据供用户进行选择,在实现交友的同时可以找到和自己有共同语言、共同话题的好友。
[1] 周冉, 高玉竹. Bmob云平台在Android App开发中的应用[J]. 微型机与应用, 2015, 34(1): 26-28.
[2] 李群. 基于OkHttp的文件传输设计与实现[J]. 电子技术与软件工程, 2018(13): 180-181.
[3] 刘俊辉. MD5消息摘要算法实现及改进[J]. 福建电脑, 2007(4): 92-93.
[4] 祝彦斌. 消息摘要技术的研究与实现[D]. 西安: 西安工程大学, 2013.
[5] 乐德广, 常晋义, 刘祥南, 等. 基于GPU的MD5高速解密算法的实现[J]. 计算机工程, 2010, 36(11): 154-155, 158.
[6] 符春. 基于Android平台的网络云存储系统开发[J]. 通讯世界, 2015(21): 239-240.
[7] 王钧玉. 基于HTTP协议报文分析的计算机网络取证方法[J]. 佳木斯职业学院学报, 2018(8): 152, 154.
[8] 陈忠菊. HTTP服务器的研究和实现[J]. 电脑编程技巧与维护, 2018(8): 133-135.
[9] 雷映喜, 习淑婷, 彭俊峰, 等. XML与JSON在WEB中对数据封装解析的对比[J]. 价值工程, 2013, 32(9): 210-211.
[10] 赵鹏, 骆德汉, 梅领亮. 一种基于JSON的Android终端远程获取解析数据的方法[J].微型机与应用, 2017, 36(21): 57-60.
[11] 张耘凡, 柳平增, 马鸿健, 等.一种基于JSON的分布式系统架构[J]. 中国农机化学报, 2015, 36(5): 255-257, 266.
[12] 陈晓莹. 面向社交网络的时空关键字查询处理技术研究[D]. 长沙: 国防科学技术大学, 2016.
[13] 陈元娟, 严建峰, 刘晓升, 等. 基于时空数据分类的用户社交联系学习[J]. 计算机应用研究, 2017, 34(5): 1415-1418.
[14] 高云君. 时空数据库查询处理关键技术研究[D]. 杭州: 浙江大学, 2008.
[15] Wang Hua, Chua V, Stefanone M A. Social ties, communication channels, and personal well-being a study of the networked lives of college students in Singapore[J]. American Behavioral Scientist, 2015, 59(9): 1189-1202.
[16] Kaylen M T, Pridemore W A. Social disorganization and crime in rural communities the first direct test of the systemic model[J]. British Journal of Criminology, 2013, 53(5): 905-923.
[17] Leukfeldt Er. Cybercrime and social ties[J]. Trends in Organized Crime, 2014, 17(4): 231-249.
[18] Holzbauer B O, Szymanski B K, Nguyen T, et al. Social ties as predictors of economic development[C]. Proc of the 12th International Conference and School on Advances in Network Science. New York: Springer- Verlag, 2016: 178-185.
[19] Mikolov T, Yih W, Zweig G. Linguistic regularities in continuous space word representations[C]. Proc of HLT-NAACL, 2013: 746-751.
[20] Mikolov T, Kombrink S, Burget L, et al. Extensions of recurrent neural network language model[C]. Proc of IEEE International Conference on Acoustics, Speech and Signal Processing. [S. l. ]: IEEE Press, 2011: 5528-5531.
Dating Software Based on Space-time Dimension--Capsule
LI Xin, ZHONG Heng, CHU Zhi-guang
(Computer Center, Liaoning University of Technology, Jinzhou 121001, China)
In order to enrich people’s daily life, a dating software capsule based on time and space is designed. It achieves the goals such as making friends in a specific time and place and participating in activities, matching and making friends with predestined friends in the same space and time. Features based on temporal and spatial data sets predict users’ social circles. The software development takes BMOB cloud database as the background support, and combines OkHttp network as the request framework to simplify the query operation. Meanwhile, the software development adopts MD5 encryption method for user information encryption to ensure the safety of user information, and mainly uses spatio-temporal keyword algorithm to match the corresponding data according to the keywords provided by users. Users can make more friends and participate in friend-making activities.
making friends in a specific time and place; spatio-temporal data set; space-time keyword
TP311
A
1674-3261(2020)02-0075-05
10.15916/j.issn1674-3261.2020.02.002
2019-11-20
李昕(1966-),男(满族),辽宁锦州人,教授,博士。
责任编校:孙 林